mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
move utils.h to utils.hpp
This commit is contained in:
parent
a812843c04
commit
ecbbb2ed15
19 changed files with 190 additions and 247 deletions
|
@ -23,7 +23,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
|
||||
namespace villas {
|
||||
namespace dsp {
|
||||
|
|
|
@ -1,202 +0,0 @@
|
|||
/** Various helper functions.
|
||||
*
|
||||
* @file
|
||||
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
|
||||
* @copyright 2014-2019, Institute for Automation of Complex Power Systems, EONERC
|
||||
* @license GNU General Public License (version 3)
|
||||
*
|
||||
* VILLAScommon
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <sched.h>
|
||||
#include <assert.h>
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
|
||||
#include <villas/config.h>
|
||||
#include <villas/log.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define LIKELY(x) __builtin_expect((x),1)
|
||||
#define UNLIKELY(x) __builtin_expect((x),0)
|
||||
#else
|
||||
#define LIKELY(x) (x)
|
||||
#define UNLIKELY(x) (x)
|
||||
#endif
|
||||
|
||||
/* Some color escape codes for pretty log messages */
|
||||
#define CLR(clr, str) "\e[" XSTR(clr) "m" str "\e[0m"
|
||||
#define CLR_GRY(str) CLR(30, str) /**< Print str in gray */
|
||||
#define CLR_RED(str) CLR(31, str) /**< Print str in red */
|
||||
#define CLR_GRN(str) CLR(32, str) /**< Print str in green */
|
||||
#define CLR_YEL(str) CLR(33, str) /**< Print str in yellow */
|
||||
#define CLR_BLU(str) CLR(34, str) /**< Print str in blue */
|
||||
#define CLR_MAG(str) CLR(35, str) /**< Print str in magenta */
|
||||
#define CLR_CYN(str) CLR(36, str) /**< Print str in cyan */
|
||||
#define CLR_WHT(str) CLR(37, str) /**< Print str in white */
|
||||
#define CLR_BLD(str) CLR( 1, str) /**< Print str in bold */
|
||||
|
||||
/* CPP stringification */
|
||||
#define XSTR(x) STR(x)
|
||||
#define STR(x) #x
|
||||
|
||||
#define CONCAT_DETAIL(x, y) x##y
|
||||
#define CONCAT(x, y) CONCAT_DETAIL(x, y)
|
||||
#define UNIQUE(x) CONCAT(x, __COUNTER__)
|
||||
|
||||
#ifdef ALIGN
|
||||
#undef ALIGN
|
||||
#endif
|
||||
#define ALIGN(x, a) ALIGN_MASK(x, (uintptr_t) (a) - 1)
|
||||
#define ALIGN_MASK(x, m) (((uintptr_t) (x) + (m)) & ~(m))
|
||||
#define IS_ALIGNED(x, a) (ALIGN(x, a) == (uintptr_t) x)
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define SWAP(x,y) do {\
|
||||
auto &_x = x; \
|
||||
auto &_y = y; \
|
||||
x = _y; \
|
||||
y = _x; \
|
||||
} while(0)
|
||||
#else
|
||||
#define SWAP(x,y) do {\
|
||||
__auto_type _x = x; \
|
||||
__auto_type _y = y; \
|
||||
x = _y; \
|
||||
y = _x; \
|
||||
} while(0)
|
||||
#endif
|
||||
|
||||
/** Round-up integer division */
|
||||
#define CEIL(x, y) (((x) + (y) - 1) / (y))
|
||||
|
||||
/** Get nearest up-rounded power of 2 */
|
||||
#define LOG2_CEIL(x) (1 << (log2i((x) - 1) + 1))
|
||||
|
||||
/** Check if the number is a power of 2 */
|
||||
#define IS_POW2(x) (((x) != 0) && !((x) & ((x) - 1)))
|
||||
|
||||
/** Calculate the number of elements in an array. */
|
||||
#define ARRAY_LEN(a) ( sizeof (a) / sizeof (a)[0] )
|
||||
|
||||
/* Return the bigger value */
|
||||
#ifdef MAX
|
||||
#undef MAX
|
||||
#endif
|
||||
#define MAX(a, b) ({ __typeof__ (a) _a = (a); \
|
||||
__typeof__ (b) _b = (b); \
|
||||
_a > _b ? _a : _b; })
|
||||
|
||||
/* Return the smaller value */
|
||||
#ifdef MIN
|
||||
#undef MIN
|
||||
#endif
|
||||
#define MIN(a, b) ({ __typeof__ (a) _a = (a); \
|
||||
__typeof__ (b) _b = (b); \
|
||||
_a < _b ? _a : _b; })
|
||||
|
||||
#ifndef offsetof
|
||||
#define offsetof(type, member) __builtin_offsetof(type, member)
|
||||
#endif
|
||||
|
||||
#ifndef container_of
|
||||
#define container_of(ptr, type, member) ({ const typeof( ((type *) 0)->member ) *__mptr = (ptr); \
|
||||
(type *) ( (char *) __mptr - offsetof(type, member) ); \
|
||||
})
|
||||
#endif
|
||||
|
||||
#define BITS_PER_LONGLONG (sizeof(long long) * 8)
|
||||
|
||||
/* Some helper macros */
|
||||
#define BITMASK(h, l) (((~0ULL) << (l)) & (~0ULL >> (BITS_PER_LONGLONG - 1 - (h))))
|
||||
#define BIT(nr) (1UL << (nr))
|
||||
|
||||
/** Normal random variate generator using the Box-Muller method
|
||||
*
|
||||
* @param m Mean
|
||||
* @param s Standard deviation
|
||||
* @return Normal variate random variable (Gaussian)
|
||||
*/
|
||||
double box_muller(float m, float s);
|
||||
|
||||
/** Double precission uniform random variable */
|
||||
double randf();
|
||||
|
||||
/** Concat formatted string to an existing string.
|
||||
*
|
||||
* This function uses realloc() to resize the destination.
|
||||
* Please make sure to only on dynamic allocated destionations!!!
|
||||
*
|
||||
* @param dest A pointer to a malloc() allocated memory region
|
||||
* @param fmt A format string like for printf()
|
||||
* @param ... Optional parameters like for printf()
|
||||
* @retval The the new value of the dest buffer.
|
||||
*/
|
||||
char * strcatf(char **dest, const char *fmt, ...)
|
||||
__attribute__ ((format(printf, 2, 3)));
|
||||
|
||||
/** Variadic version of strcatf() */
|
||||
char * vstrcatf(char **dest, const char *fmt, va_list va)
|
||||
__attribute__ ((format(printf, 2, 0)));
|
||||
|
||||
char * strf(const char *fmt, ...);
|
||||
char * vstrf(const char *fmt, va_list va);
|
||||
|
||||
/** Allocate and initialize memory. */
|
||||
void * alloc(size_t bytes);
|
||||
|
||||
/** Allocate and copy memory. */
|
||||
void * memdup(const void *src, size_t bytes);
|
||||
|
||||
/** Call quit() in the main thread. */
|
||||
void die();
|
||||
|
||||
/** Check assertion and exit if failed. */
|
||||
#ifndef assert
|
||||
#define assert(exp) do { \
|
||||
if (!EXPECT(exp, 0)) \
|
||||
error("Assertion failed: '%s' in %s(), %s:%d", \
|
||||
XSTR(exp), __FUNCTION__, __BASE_FILE__, __LINE__); \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
/** Get log2 of long long integers */
|
||||
static inline int log2i(long long x) {
|
||||
if (x == 0)
|
||||
return 1;
|
||||
|
||||
return sizeof(x) * 8 - __builtin_clzll(x) - 1;
|
||||
}
|
||||
|
||||
/** Send signal \p sig to main thread. */
|
||||
void killme(int sig);
|
||||
|
||||
pid_t spawn(const char *name, char *const argv[]);
|
||||
|
||||
/** Determines the string length as printed on the screen (ignores escable sequences). */
|
||||
size_t strlenp(const char *str);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
|
@ -29,18 +29,111 @@
|
|||
|
||||
#include <signal.h>
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <sched.h>
|
||||
#include <assert.h>
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
|
||||
#include <villas/config.h>
|
||||
#include <villas/log.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define LIKELY(x) __builtin_expect((x),1)
|
||||
#define UNLIKELY(x) __builtin_expect((x),0)
|
||||
#else
|
||||
#define LIKELY(x) (x)
|
||||
#define UNLIKELY(x) (x)
|
||||
#endif
|
||||
|
||||
/** Check assertion and exit if failed. */
|
||||
#ifndef assert
|
||||
#define assert(exp) do { \
|
||||
if (!EXPECT(exp, 0)) \
|
||||
error("Assertion failed: '%s' in %s(), %s:%d", \
|
||||
XSTR(exp), __FUNCTION__, __BASE_FILE__, __LINE__); \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
/* CPP stringification */
|
||||
#define XSTR(x) STR(x)
|
||||
#define STR(x) #x
|
||||
|
||||
#define CONCAT_DETAIL(x, y) x##y
|
||||
#define CONCAT(x, y) CONCAT_DETAIL(x, y)
|
||||
#define UNIQUE(x) CONCAT(x, __COUNTER__)
|
||||
|
||||
#ifdef ALIGN
|
||||
#undef ALIGN
|
||||
#endif
|
||||
#define ALIGN(x, a) ALIGN_MASK(x, (uintptr_t) (a) - 1)
|
||||
#define ALIGN_MASK(x, m) (((uintptr_t) (x) + (m)) & ~(m))
|
||||
#define IS_ALIGNED(x, a) (ALIGN(x, a) == (uintptr_t) x)
|
||||
|
||||
#define SWAP(x,y) do { \
|
||||
auto &_x = x; \
|
||||
auto &_y = y; \
|
||||
x = _y; \
|
||||
y = _x; \
|
||||
} while(0)
|
||||
|
||||
/** Round-up integer division */
|
||||
#define CEIL(x, y) (((x) + (y) - 1) / (y))
|
||||
|
||||
/** Get nearest up-rounded power of 2 */
|
||||
#define LOG2_CEIL(x) (1 << (log2i((x) - 1) + 1))
|
||||
|
||||
/** Check if the number is a power of 2 */
|
||||
#define IS_POW2(x) (((x) != 0) && !((x) & ((x) - 1)))
|
||||
|
||||
/** Calculate the number of elements in an array. */
|
||||
#define ARRAY_LEN(a) ( sizeof (a) / sizeof (a)[0] )
|
||||
|
||||
/* Return the bigger value */
|
||||
#ifdef MAX
|
||||
#undef MAX
|
||||
#endif
|
||||
#define MAX(a, b) ({ __typeof__ (a) _a = (a); \
|
||||
__typeof__ (b) _b = (b); \
|
||||
_a > _b ? _a : _b; })
|
||||
|
||||
/* Return the smaller value */
|
||||
#ifdef MIN
|
||||
#undef MIN
|
||||
#endif
|
||||
#define MIN(a, b) ({ __typeof__ (a) _a = (a); \
|
||||
__typeof__ (b) _b = (b); \
|
||||
_a < _b ? _a : _b; })
|
||||
|
||||
#ifndef offsetof
|
||||
#define offsetof(type, member) __builtin_offsetof(type, member)
|
||||
#endif
|
||||
|
||||
#ifndef container_of
|
||||
#define container_of(ptr, type, member) ({ const typeof( ((type *) 0)->member ) *__mptr = (ptr); \
|
||||
(type *) ( (char *) __mptr - offsetof(type, member) ); \
|
||||
})
|
||||
#endif
|
||||
|
||||
#define BITS_PER_LONGLONG (sizeof(long long) * 8)
|
||||
|
||||
/* Some helper macros */
|
||||
#define BITMASK(h, l) (((~0ULL) << (l)) & (~0ULL >> (BITS_PER_LONGLONG - 1 - (h))))
|
||||
#define BIT(nr) (1UL << (nr))
|
||||
|
||||
namespace villas {
|
||||
namespace utils {
|
||||
|
||||
std::vector<std::string>
|
||||
tokenize(std::string s, std::string delimiter);
|
||||
|
||||
|
||||
template<typename T>
|
||||
void
|
||||
assertExcept(bool condition, const T& exception)
|
||||
{
|
||||
if(not condition)
|
||||
if (not condition)
|
||||
throw exception;
|
||||
}
|
||||
|
||||
|
@ -53,6 +146,63 @@ ssize_t read_random(char *buf, size_t len);
|
|||
/** Remove ANSI control sequences for colored output. */
|
||||
char * decolor(char *str);
|
||||
|
||||
/** Normal random variate generator using the Box-Muller method
|
||||
*
|
||||
* @param m Mean
|
||||
* @param s Standard deviation
|
||||
* @return Normal variate random variable (Gaussian)
|
||||
*/
|
||||
double box_muller(float m, float s);
|
||||
|
||||
/** Double precission uniform random variable */
|
||||
double randf();
|
||||
|
||||
/** Concat formatted string to an existing string.
|
||||
*
|
||||
* This function uses realloc() to resize the destination.
|
||||
* Please make sure to only on dynamic allocated destionations!!!
|
||||
*
|
||||
* @param dest A pointer to a malloc() allocated memory region
|
||||
* @param fmt A format string like for printf()
|
||||
* @param ... Optional parameters like for printf()
|
||||
* @retval The the new value of the dest buffer.
|
||||
*/
|
||||
char * strcatf(char **dest, const char *fmt, ...)
|
||||
__attribute__ ((format(printf, 2, 3)));
|
||||
|
||||
/** Variadic version of strcatf() */
|
||||
char * vstrcatf(char **dest, const char *fmt, va_list va)
|
||||
__attribute__ ((format(printf, 2, 0)));
|
||||
|
||||
char * strf(const char *fmt, ...);
|
||||
char * vstrf(const char *fmt, va_list va);
|
||||
|
||||
/** Allocate and initialize memory. */
|
||||
void * alloc(size_t bytes);
|
||||
|
||||
/** Allocate and copy memory. */
|
||||
void * memdup(const void *src, size_t bytes);
|
||||
|
||||
/** Call quit() in the main thread. */
|
||||
void die();
|
||||
|
||||
/** Get log2 of long long integers */
|
||||
static inline int log2i(long long x) {
|
||||
if (x == 0)
|
||||
return 1;
|
||||
|
||||
return sizeof(x) * 8 - __builtin_clzll(x) - 1;
|
||||
}
|
||||
|
||||
/** Send signal \p sig to main thread. */
|
||||
void killme(int sig);
|
||||
|
||||
pid_t spawn(const char *name, char *const argv[]);
|
||||
|
||||
/** Determines the string length as printed on the screen (ignores escable sequences). */
|
||||
size_t strlenp(const char *str);
|
||||
|
||||
} // namespace utils
|
||||
} // namespace villas
|
||||
|
||||
using namespace villas::utils;
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
#include <curl/curl.h>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/config.h>
|
||||
#include <villas/advio.h>
|
||||
#include <villas/crypt.h>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include <math.h>
|
||||
#include <time.h>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/hist.hpp>
|
||||
#include <villas/config.h>
|
||||
#include <villas/table.hpp>
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/config.h>
|
||||
#include <villas/kernel/kernel.h>
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include <linux/limits.h>
|
||||
|
||||
#include <villas/log.h>
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/config.h>
|
||||
#include <villas/kernel/pci.h>
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include <villas/log.hpp>
|
||||
#include <villas/cpuset.hpp>
|
||||
#include <villas/config.h>
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/exceptions.hpp>
|
||||
|
||||
#include <villas/kernel/kernel.h>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include <sys/ioctl.h>
|
||||
#include <sys/eventfd.h>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/log.h>
|
||||
#include <villas/config.h>
|
||||
#include <villas/kernel/kernel.h>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include <villas/list.h>
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
|
||||
/* Compare functions */
|
||||
static int cmp_lookup(const void *a, const void *b) {
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include <cstdio>
|
||||
#include <cerrno>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/log.hpp>
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/table.hpp>
|
||||
#include <villas/boxes.hpp>
|
||||
#include <villas/log.h>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include <time.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/task.h>
|
||||
#include <villas/timing.h>
|
||||
|
||||
|
|
|
@ -37,16 +37,16 @@
|
|||
#include <fcntl.h>
|
||||
|
||||
#include <villas/config.h>
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/colors.hpp>
|
||||
#include <villas/config.h>
|
||||
#include <villas/log.hpp>
|
||||
|
||||
static pthread_t main_thread;
|
||||
|
||||
namespace villas {
|
||||
namespace utils {
|
||||
|
||||
static pthread_t main_thread;
|
||||
|
||||
std::vector<std::string>
|
||||
tokenize(std::string s, std::string delimiter)
|
||||
{
|
||||
|
@ -169,8 +169,6 @@ char * decolor(char *str)
|
|||
return str;
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
|
||||
void killme(int sig)
|
||||
{
|
||||
/* Send only to main thread in case the ID was initilized by signals_init() */
|
||||
|
@ -180,11 +178,6 @@ void killme(int sig)
|
|||
kill(0, sig);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} /* namespace utils */
|
||||
} /* namespace villas */
|
||||
|
||||
double box_muller(float m, float s)
|
||||
{
|
||||
double x1, x2, y1;
|
||||
|
@ -217,14 +210,15 @@ double randf()
|
|||
return (double) random() / RAND_MAX;
|
||||
}
|
||||
|
||||
char * strcatf(char **dest, const char *fmt, ...)
|
||||
void * alloc(size_t bytes)
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
vstrcatf(dest, fmt, ap);
|
||||
va_end(ap);
|
||||
void *p = malloc(bytes);
|
||||
if (!p)
|
||||
error("Failed to allocate memory");
|
||||
|
||||
return *dest;
|
||||
memset(p, 0, bytes);
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
char * vstrcatf(char **dest, const char *fmt, va_list ap)
|
||||
|
@ -242,6 +236,16 @@ char * vstrcatf(char **dest, const char *fmt, va_list ap)
|
|||
return *dest;
|
||||
}
|
||||
|
||||
char * strcatf(char **dest, const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
vstrcatf(dest, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
return *dest;
|
||||
}
|
||||
|
||||
char * strf(const char *fmt, ...)
|
||||
{
|
||||
char *buf = nullptr;
|
||||
|
@ -263,17 +267,6 @@ char * vstrf(const char *fmt, va_list va)
|
|||
return buf;
|
||||
}
|
||||
|
||||
void * alloc(size_t bytes)
|
||||
{
|
||||
void *p = malloc(bytes);
|
||||
if (!p)
|
||||
error("Failed to allocate memory");
|
||||
|
||||
memset(p, 0, bytes);
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
void * memdup(const void *src, size_t bytes)
|
||||
{
|
||||
void *dst = alloc(bytes);
|
||||
|
@ -334,3 +327,6 @@ size_t strlenp(const char *str)
|
|||
|
||||
return sz;
|
||||
}
|
||||
|
||||
} /* namespace utils */
|
||||
} /* namespace villas */
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
#include <criterion/criterion.h>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/advio.h>
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include <criterion/criterion.h>
|
||||
|
||||
#include <villas/hist.hpp>
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
|
||||
const double test_data[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include <string.h>
|
||||
#include <criterion/criterion.h>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/list.h>
|
||||
|
||||
static const char *nouns[] = { "time", "person", "year", "way", "day", "thing", "man", "world", "life", "hand", "part", "child", "eye", "woman", "place", "work", "week", "case", "point", "government", "company", "number", "group", "problem", "fact" };
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include <criterion/criterion.h>
|
||||
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/tsc.h>
|
||||
#include <villas/timing.h>
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#include <criterion/criterion.h>
|
||||
|
||||
#include <villas/crypt.h>
|
||||
#include <villas/utils.h>
|
||||
#include <villas/utils.hpp>
|
||||
#include <villas/version.hpp>
|
||||
#include <villas/cpuset.hpp>
|
||||
|
|
Loading…
Add table
Reference in a new issue