2017-03-01 18:25:26 +01:00
|
|
|
// -*- C++ -*-
|
2017-02-17 18:10:03 +01:00
|
|
|
|
|
|
|
#ifndef __multi_array_header_h__
|
|
|
|
#define __multi_array_header_h__
|
|
|
|
|
|
|
|
#include <cstdlib>
|
|
|
|
#include "base_def.h"
|
|
|
|
#include "range_base.h"
|
|
|
|
#include "index_base.h"
|
|
|
|
#include "single_range.h"
|
|
|
|
#include "multi_range.h"
|
|
|
|
#include "multi_array_operation.h"
|
|
|
|
#include "multi_array.h"
|
2017-02-28 11:27:23 +01:00
|
|
|
#include "slice.h"
|
2017-03-08 20:10:11 +01:00
|
|
|
#include "manipulator.h"
|
|
|
|
#include "range_transformer.h"
|
2017-02-17 18:10:03 +01:00
|
|
|
|
2017-03-01 18:25:26 +01:00
|
|
|
namespace MultiArrayTools
|
|
|
|
{
|
|
|
|
|
|
|
|
/*********************************
|
|
|
|
* Some standard definitions *
|
|
|
|
*********************************/
|
|
|
|
|
|
|
|
// ===== Index Types =====
|
|
|
|
|
|
|
|
typedef SingleIndex<size_t,RangeType::ANY> GenericNI;
|
|
|
|
typedef SingleIndex<double,RangeType::ANY> GenericFI;
|
|
|
|
typedef SingleIndex<size_t,RangeType::LORENTZ> LorentzI;
|
|
|
|
typedef SingleIndex<int,RangeType::SPACE> Space1dNI;
|
|
|
|
typedef SingleIndex<int,RangeType::MOMENTUM> Mom1dNI;
|
2017-03-02 19:27:46 +01:00
|
|
|
typedef SingleIndex<size_t,RangeType::ENSEMBLE> EnsI;
|
2017-03-01 18:25:26 +01:00
|
|
|
// ...
|
|
|
|
|
|
|
|
// ===== Range Types =====
|
|
|
|
|
|
|
|
typedef SingleRange<size_t,RangeType::ANY> GenericNR;
|
|
|
|
typedef SingleRange<double,RangeType::ANY> GenericFR;
|
|
|
|
typedef SingleRange<size_t,RangeType::LORENTZ> LorentzR;
|
|
|
|
typedef SingleRange<int,RangeType::SPACE> Space1dNR;
|
|
|
|
typedef SingleRange<int,RangeType::MOMENTUM> Mom1dNR;
|
2017-03-02 19:27:46 +01:00
|
|
|
typedef SingleRange<size_t, RangeType::ENSEMBLE> EnsR;
|
2017-03-01 18:25:26 +01:00
|
|
|
typedef MultiRange<Space1dNR,Space1dNR,Space1dNR> Space3dNR;
|
|
|
|
typedef MultiRange<Mom1dNR,Mom1dNR,Mom1dNR> Mom3dNR;
|
|
|
|
// ...
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2017-02-17 18:10:03 +01:00
|
|
|
#endif
|