Skip to content
Snippets Groups Projects
Select Git revision
  • c2a3253e99d01dead4b439ccab304e87b9af6670
  • main default protected
2 results

models.py

Blame
  • 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;
    }