main
Aaron 1 month ago
parent 073d1ce57c
commit 358b76254b

Binary file not shown.

@ -74,8 +74,8 @@ static const int perm_failure = -1;
int factorial(int n); int factorial(int n);
//Iteratable Permutation Class //Iteratable Permutation Class
//Provides an object for iterating over permutations of low dimension //Provides an object for iterating over permutations of low order (<=12)
//These can be stepped along //These can be stepped along in a loop
class ipermutation class ipermutation
{ {
public: public:
@ -172,8 +172,6 @@ class permutation
int& at(const int ind); int& at(const int ind);
const int& at(const int ind) const; const int& at(const int ind) const;
static permutation first(int length); static permutation first(int length);
static permutation last(int length); static permutation last(int length);
@ -182,8 +180,11 @@ class permutation
int _intl_calculate_mindex(int *mindex, int *wrk); int _intl_calculate_mindex(int *mindex, int *wrk);
int levi_civita(); int levi_civita();
void print(int style);
}; };
void test_permutation1();
}; //end namespace perm }; //end namespace perm
}; //end namespace ams }; //end namespace ams

@ -356,5 +356,32 @@ const int& permutation::at(const int ind) const
return data[ind]; return data[ind];
} }
void permutation::print(int style)
{
int I;
if(style==0)
{
printf("{");
for(I=0;I<length-1;I++) printf("%d,",data[I]);
printf("%d}",data[length-1]);
}
else if(style==1)
{
printf("permutation:{");
for(I=0;I<length-1;I++) printf("%d,",data[I]);
printf("%d}",data[length-1]);
}
return;
}
void test_permutation1()
{
permutation a = permutation(5);
a.print(1);
return;
}
}; //end namespace perm }; //end namespace perm
}; //end namespace ams }; //end namespace ams

@ -6,6 +6,7 @@ int main(int argc, char* argv[])
printf("ams c++ permutation library tests.\n"); printf("ams c++ permutation library tests.\n");
//amsperm1_test_basicperm1(); //amsperm1_test_basicperm1();
//ams::perm::test_ipermutation1(); //ams::perm::test_ipermutation1();
ams::perm::test_ipermutation2(); //ams::perm::test_ipermutation2();
ams::perm::test_permutation1();
return ret; return ret;
} }
Loading…
Cancel
Save