v1.0.0-rc.81

This commit is contained in:
2025-09-21 19:27:51 +02:00
parent 3ded4cd3ce
commit 5d9d2de4a4
243 changed files with 3401 additions and 935 deletions
+22 -15
View File
@@ -3,31 +3,38 @@
#include "IndexerFactory.h"
#ifndef JFJOCH_USE_CUDA
std::unique_ptr<Indexer> CreateIndexer(const DiffractionExperiment& experiment) {
return {};
}
#else
#ifdef JFJOCH_USE_CUDA
#include "FFBIDXIndexer.h"
#include "FFTIndexer.h"
#include "FFTIndexerGPU.h"
#endif
#ifdef JFJOCH_USE_FFTW
#include "FFTIndexerCPU.h"
#endif
std::unique_ptr<Indexer> CreateIndexer(const DiffractionExperiment& experiment) {
std::unique_ptr<Indexer> indexer;
switch (experiment.GetIndexingAlgorithm()) {
case IndexingAlgorithmEnum::FFBIDX:
indexer = std::make_unique<FFBIDXIndexer>();
indexer->Setup(experiment);
#ifdef JFJOCH_USE_CUDA
indexer = std::make_unique<FFBIDXIndexer>();
indexer->Setup(experiment);
#endif
break;
case IndexingAlgorithmEnum::FFTW:
#ifdef JFJOCH_USE_FFTW
indexer = std::make_unique<FFTIndexerCPU>(experiment.GetIndexingSettings());
indexer->Setup(experiment);
#endif
break;
case IndexingAlgorithmEnum::FFT:
indexer = std::make_unique<FFTIndexer>(experiment.GetIndexingSettings());
indexer->Setup(experiment);
#ifdef JFJOCH_USE_CUDA
indexer = std::make_unique<FFTIndexerGPU>(experiment.GetIndexingSettings());
indexer->Setup(experiment);
#endif
break;
default:
break;
}
return indexer;
}
#endif
}