12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /**********************************************************
-
- This software is part of J.-S. Caux's ABACUS library.
-
- Copyright (c) J.-S. Caux.
-
- -----------------------------------------------------------
-
- File: ABACUS_Combi.h
-
- Purpose: Declares combinatorics-related classes and functions.
-
- ***********************************************************/
-
- #ifndef ABACUS_COMBI_H
- #define ABACUS_COMBI_H
-
- #include "ABACUS.h"
-
- namespace ABACUS {
-
- //***********************************************************************
-
- class Choose_Table {
-
- private:
- int Npower;
- int Npowerp1;
- int dim;
- unsigned long long int* table;
- void Fill_table ();
-
- public:
- Choose_Table ();
- Choose_Table (int Npower_ref);
- Choose_Table (const Choose_Table& Ref_Choose_Table); // constructs a new object from an existing one
- int power(); // returns Npower
- unsigned long long int choose (int N, int M);
- ~Choose_Table ();
-
- };
-
-
- std::ostream& operator<< (std::ostream& s, Choose_Table& Ref_table);
-
-
- } // namespace ABACUS
-
- #endif
|