Program Listing for File MatrixChain.h

↰ Return to documentation for file (ADS/numeric/MatrixChain.h)

/*--------------------------------------------------------------------------*/
/*--------------------------- File MatrixChain.h ---------------------------*/
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*----------------------------- DEFINITIONS --------------------------------*/
/*--------------------------------------------------------------------------*/

#ifndef __ADS_MatrixChain
 #define __ADS_MatrixChain
                      /* self-identification: #endif constant */

/*--------------------------------------------------------------------------*/
/*------------------------------ INCLUDES ----------------------------------*/
/*--------------------------------------------------------------------------*/

#include "ADS/Contract.h"

#include <algorithm>
#include <cstddef>
#include <limits>
#include <string>
#include <utility>
#include <vector>

/*--------------------------------------------------------------------------*/
/*--------------------------- NAMESPACE ------------------------------------*/
/*--------------------------------------------------------------------------*/

namespace ADS {

inline std::pair< long , std::vector< std::vector< std::size_t > > >
matrixChain( const std::vector< long > & c );

inline std::string parenthesization(
                         const std::vector< std::vector< std::size_t > > & S ,
                         std::size_t i , std::size_t j );

/*--------------------------------------------------------------------------*/

}  // end( namespace ADS )

/*--------------------------------------------------------------------------*/
/*-------------------------- IMPLEMENTATION --------------------------------*/
/*--------------------------------------------------------------------------*/

#include "ADS/numeric/impl/MatrixChain.tpp"

/*--------------------------------------------------------------------------*/

#endif  /* MatrixChain.h included */

/*--------------------------------------------------------------------------*/
/*------------------------- End File MatrixChain.h -------------------------*/
/*--------------------------------------------------------------------------*/