Select Git revision
classify.cpp 5.52 KiB
#include "eistype.h"
#include <execution>
#include <iostream>
#include <filesystem>
#include <algorithm>
#include <system_error>
#include <condition_variable>
#include <mutex>
#include <limits>
#include <algorithm>
#include "kissinference/kissinference.h"
#define PASS_STR "Pass"
static std::vector<std::filesystem::path> dirs;
std::mutex printmtx;
long long passIndex = -1;
#ifdef WINDOWS
#define OUTSTREAM std::wcout
#else
#define OUTSTREAM std::cout
#endif
static std::vector<std::filesystem::path> getFiles(const std::filesystem::path dir, std::string extension = "")
{
std::vector<std::filesystem::path> out;
if(!std::filesystem::is_directory(dir))
{
if(extension.empty() || dir.extension() == extension)
out.push_back(dir);
return out;
}
for(const std::filesystem::directory_entry& dirent : std::filesystem::directory_iterator{dir})
{
if(!extension.empty() && dirent.path().extension() != extension)
continue;
out.push_back(dirent.path());
}
return out;
}
static void getArrays(const std::vector<DataPoint>& data, float **re, float **im, float **omega)
{
(*re) = new float[data.size()];
(*im) = new float[data.size()];
(*omega) = new float[data.size()];
for(size_t i = 0; i < data.size(); ++i)
{
(*re)[i] = data[i].im.real();
(*im)[i] = data[i].im.imag();
(*omega)[i] = data[i].omega;
}
}
static bool checkDir(const std::filesystem::path& outDir)
{
if(!std::filesystem::is_directory(outDir))
{
if(!std::filesystem::create_directory(outDir))
{
OUTSTREAM<<outDir<<" dose not exist and can not be created\n";
return false;
}
}
return true;
}