ONE - On-device Neural Engine
Loading...
Searching...
No Matches
Knob.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2019 Samsung Electronics Co., Ltd. All Rights Reserved
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#ifndef __KNOB_H__
18
#define __KNOB_H__
19
20
namespace
exo
21
{
22
23
enum class
Dialect
24
{
25
TFLITE
,
26
CIRCLE
27
};
28
29
enum class
Knob
30
{
31
#define KNOB_BOOL(NAME, TFL_DEFAULT, CIRCLE_DEFAULT, DESC) NAME,
32
#include "Knob.lst"
33
#undef KNOB_BOOL
34
};
35
36
template
<Knob K>
struct
KnobTrait
;
37
38
#define KNOB_BOOL(NAME, TFL_DEFAULT, CIRCLE_DEFAULT, DESC) \
39
template <> struct KnobTrait<Knob::NAME> \
40
{ \
41
using ValueType = bool; \
42
};
43
#include "Knob.lst"
44
#undef KNOB_BOOL
45
46
template
<Knob K>
typename
KnobTrait<K>::ValueType
get
(
void
);
47
void
set
(
Dialect
);
48
49
}
// namespace exo
50
51
#endif
// __KNOB_H__
exo
Definition
CircleExporter.h:25
exo::Knob
Knob
Definition
Knob.h:30
exo::Dialect
Dialect
Definition
Knob.h:24
exo::Dialect::CIRCLE
@ CIRCLE
exo::Dialect::TFLITE
@ TFLITE
exo::set
void set(Dialect d)
Definition
Knob.cpp:100
exo::get
KnobTrait< K >::ValueType get(void)
exo::KnobTrait
Definition
Knob.h:36
compiler
exo
src
Knob.h
Generated by
1.9.8