diff --git a/build_linux64/libamscppperm1.linux64.a b/build_linux64/libamscppperm1.linux64.a index f86ff79..b03304a 100644 Binary files a/build_linux64/libamscppperm1.linux64.a and b/build_linux64/libamscppperm1.linux64.a differ diff --git a/build_linux64/objstore/permutation.o b/build_linux64/objstore/permutation.o index 587815f..e4898a7 100644 Binary files a/build_linux64/objstore/permutation.o and b/build_linux64/objstore/permutation.o differ diff --git a/build_linux64/tests b/build_linux64/tests index f0651b2..e1e0a01 100644 Binary files a/build_linux64/tests and b/build_linux64/tests differ diff --git a/include/amscppperm1/amscppperm1.hpp b/include/amscppperm1/amscppperm1.hpp index 2e76cfb..6556bfd 100644 --- a/include/amscppperm1/amscppperm1.hpp +++ b/include/amscppperm1/amscppperm1.hpp @@ -74,8 +74,8 @@ static const int perm_failure = -1; int factorial(int n); //Iteratable Permutation Class -//Provides an object for iterating over permutations of low dimension -//These can be stepped along +//Provides an object for iterating over permutations of low order (<=12) +//These can be stepped along in a loop class ipermutation { public: @@ -172,8 +172,6 @@ class permutation int& at(const int ind); const int& at(const int ind) const; - - static permutation first(int length); static permutation last(int length); @@ -182,8 +180,11 @@ class permutation int _intl_calculate_mindex(int *mindex, int *wrk); int levi_civita(); + + void print(int style); }; +void test_permutation1(); }; //end namespace perm }; //end namespace ams diff --git a/src/amscppperm1/permutation.cpp b/src/amscppperm1/permutation.cpp index aa9efff..b40a729 100644 --- a/src/amscppperm1/permutation.cpp +++ b/src/amscppperm1/permutation.cpp @@ -356,5 +356,32 @@ const int& permutation::at(const int ind) const return data[ind]; } +void permutation::print(int style) +{ + int I; + if(style==0) + { + printf("{"); + for(I=0;I