linbox
benchmark-polynomial-matrix-mul-fft.C File Reference
#include <iostream>
#include <iomanip>
#include <linbox/ring/modular.h>
#include <linbox/randiter/random-prime.h>
#include <linbox/randiter/random-fftprime.h>
#include <givaro/zring.h>
#include <recint/rint.h>
#include <linbox/matrix/matrix-domain.h>
#include <linbox/util/commentator.h>
#include <linbox/util/timer.h>
#include <linbox/matrix/polynomial-matrix.h>
#include <linbox/algorithms/polynomial-matrix/polynomial-matrix-domain.h>
#include <linbox/algorithms/polynomial-matrix/matpoly-mult-naive.h>
#include <linbox/algorithms/polynomial-matrix/matpoly-mult-kara.h>
#include <givaro/modular.h>
#include <givaro/modular-extended.h>
#include <fflas-ffpack/utils/args-parser.h>

Macros

#define REGISTER_TYPE_NAME(type)
 

Functions

template<typename ...>
const char * TypeName ()
 
template<>
const char * TypeName< float > ()
 
template<>
const char * TypeName< double > ()
 
template<>
const char * TypeName< uint16_t > ()
 
template<>
const char * TypeName< uint32_t > ()
 
template<>
const char * TypeName< uint64_t > ()
 
template<>
const char * TypeName< Modular > ()
 
template<>
const char * TypeName< ModularExtended > ()
 
template<typename PolMatType, typename PolMatMulDomain>
double bench_one (const PolMatMulDomain &PMMD, unsigned int m, unsigned int n, unsigned int k, unsigned int d, unsigned long seed)
 
template<template< typename, typename... > class ModImplem, typename Elt, typename... C>
void bench_one_modular_implem_fft (uint64_t bits, unsigned int m, unsigned int n, unsigned int k, unsigned int d, unsigned long seed)
 
int main (int argc, char *argv[])
 

Macro Definition Documentation

◆ REGISTER_TYPE_NAME

#define REGISTER_TYPE_NAME ( type)
Value:
template<> const char *TypeName<type>(){return #type;}
const char * TypeName()

Function Documentation

◆ TypeName()

template<typename ...>
const char * TypeName ( )

◆ TypeName< float >()

template<>
const char * TypeName< float > ( )

◆ TypeName< double >()

template<>
const char * TypeName< double > ( )

◆ TypeName< uint16_t >()

template<>
const char * TypeName< uint16_t > ( )

◆ TypeName< uint32_t >()

template<>
const char * TypeName< uint32_t > ( )

◆ TypeName< uint64_t >()

template<>
const char * TypeName< uint64_t > ( )

◆ TypeName< Modular >()

template<>
const char * TypeName< Modular > ( )

◆ TypeName< ModularExtended >()

template<>
const char * TypeName< ModularExtended > ( )

◆ bench_one()

template<typename PolMatType, typename PolMatMulDomain>
double bench_one ( const PolMatMulDomain & PMMD,
unsigned int m,
unsigned int n,
unsigned int k,
unsigned int d,
unsigned long seed )

◆ bench_one_modular_implem_fft()

template<template< typename, typename... > class ModImplem, typename Elt, typename... C>
void bench_one_modular_implem_fft ( uint64_t bits,
unsigned int m,
unsigned int n,
unsigned int k,
unsigned int d,
unsigned long seed )

◆ main()

int main ( int argc,
char * argv[] )