GiNaC  1.6.2
Classes | Namespaces | Defines | Typedefs | Functions
expairseq.h File Reference

Interface to sequences of expression pairs. More...

#include "expair.h"
#include "indexed.h"
#include <algorithm>
#include <list>
#include <memory>
#include <vector>

Go to the source code of this file.

Classes

class  GiNaC::expairseq
 A sequence of class expair. More...
class  GiNaC::make_flat_inserter
 Class to handle the renaming of dummy indices. More...

Namespaces

namespace  GiNaC
 

CRC32 hash function.


Defines

#define EXPAIRSEQ_USE_HASHTAB   0
 Using hash tables can potentially enhance the asymptotic behaviour of combining n terms into one large sum (or n terms into one large product) from O(n*log(n)) to about O(n).

Typedefs

typedef std::vector< expair > GiNaC::epvector
 expair-vector
typedef epvector::iterator GiNaC::epp
 expair-vector pointer
typedef std::list< epp > GiNaC::epplist
 list of expair-vector pointers
typedef std::vector< epplist > GiNaC::epplistvector
 vector of epplist

Functions

epvector * GiNaC::conjugateepvector (const epvector &)
 Complex conjugate every element of an epvector.

Detailed Description

Interface to sequences of expression pairs.

Definition in file expairseq.h.


Define Documentation

#define EXPAIRSEQ_USE_HASHTAB   0

Using hash tables can potentially enhance the asymptotic behaviour of combining n terms into one large sum (or n terms into one large product) from O(n*log(n)) to about O(n).

There are, however, several drawbacks. The constant in front of O(n) is quite large, when copying such an object one also has to copy the has table, comparison is quite expensive because there is no ordering any more, it doesn't help at all when combining two expairseqs because due to the presorted nature the behaviour would be O(n) anyways, the code is quite messy, etc, etc. The code is here as an example for following generations to tinker with.

Definition at line 46 of file expairseq.h.


This page is part of the GiNaC developer's reference. It was generated automatically by doxygen. For an introduction, see the tutorial.