From 55a13564af222f5aae86f21150040107793aa13a Mon Sep 17 00:00:00 2001 From: bdemsky Date: Sun, 20 Aug 2017 23:18:22 -0700 Subject: [PATCH] Starting tuner framework --- src/Makefile | 5 +++-- src/Tuner/tunable.c | 1 + src/Tuner/tunable.h | 21 +++++++++++++++++++++ src/classlist.h | 6 ++++++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 src/Tuner/tunable.c create mode 100644 src/Tuner/tunable.h diff --git a/src/Makefile b/src/Makefile index 35468a0..965d4d7 100644 --- a/src/Makefile +++ b/src/Makefile @@ -4,9 +4,9 @@ PHONY += directories MKDIR_P = mkdir -p OBJ_DIR = bin -C_SOURCES := $(wildcard *.c) $(wildcard AST/*.c) $(wildcard Collections/*.c) $(wildcard Backend/*.c) $(wildcard Encoders/*.c) +C_SOURCES := $(wildcard *.c) $(wildcard AST/*.c) $(wildcard Tuner/*.c) $(wildcard Collections/*.c) $(wildcard Backend/*.c) $(wildcard Encoders/*.c) -HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h) +HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard Tuner.*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h) OBJECTS := $(CPP_SOURCES:%.cc=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o) @@ -30,6 +30,7 @@ directories: ${OBJ_DIR} ${OBJ_DIR}: ${MKDIR_P} ${OBJ_DIR} ${MKDIR_P} ${OBJ_DIR}/AST + ${MKDIR_P} ${OBJ_DIR}/Tuner ${MKDIR_P} ${OBJ_DIR}/Collections ${MKDIR_P} ${OBJ_DIR}/Backend ${MKDIR_P} ${OBJ_DIR}/Encoders diff --git a/src/Tuner/tunable.c b/src/Tuner/tunable.c new file mode 100644 index 0000000..81fe363 --- /dev/null +++ b/src/Tuner/tunable.c @@ -0,0 +1 @@ +#include "tunable.h" diff --git a/src/Tuner/tunable.h b/src/Tuner/tunable.h new file mode 100644 index 0000000..84bf862 --- /dev/null +++ b/src/Tuner/tunable.h @@ -0,0 +1,21 @@ +#ifndef TUNABLE_H +#define TUNABLE_H +#include "classlist.h" + + +struct Tuner { +}; + +struct TunableDesc { + int lowValue; + int highValue; + int defaultValue; +}; + +int getTunable(Tuner This, TunableParam param, TunableDesc * descriptor); +int getVarTunable(Tuner This, VarType vartype, TunableParam param, TunableDesc * descriptor); + +#define GETTUNABLE(This, param, descriptor) getTunable(This, param, descriptor); +#define GETVARTUNABLE(This, vartype, param, descriptor) getTunable(This, param, descriptor); + +#endif diff --git a/src/classlist.h b/src/classlist.h index 339dee3..ca192fa 100644 --- a/src/classlist.h +++ b/src/classlist.h @@ -94,6 +94,12 @@ typedef struct OrderEdge OrderEdge; struct OrderEncoder; typedef struct OrderEncoder OrderEncoder; +struct Tuner; +typedef struct Tuner Tuner; +struct TunableDesc; +typedef struct TunableDesc TunableDesc; +typedef int TunableParam; + typedef unsigned int uint; typedef long int int64; typedef uint64_t VarType; -- 2.34.1