24.02.1
TypeReader.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017-2019 Arm Limited.
3
*
4
* SPDX-License-Identifier: MIT
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to
8
* deal in the Software without restriction, including without limitation the
9
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10
* sell copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in all
14
* copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
* SOFTWARE.
23
*/
24
#ifndef ARM_COMPUTE_TEST_TYPE_READER_H
25
#define ARM_COMPUTE_TEST_TYPE_READER_H
26
27
#include "
arm_compute/core/Types.h
"
28
29
#include <algorithm>
30
#include <cctype>
31
#include <istream>
32
33
namespace
arm_compute
34
{
35
/** Formatted input of the BorderMode type.
36
*
37
* @param[out] is Input stream.
38
* @param[in] mode Border mode.
39
*
40
* @return the modified input stream.
41
*/
42
inline ::std::istream &
operator>>
(::std::istream &is,
BorderMode
&
mode
)
43
{
44
std::string value;
45
46
is >> value;
47
48
std::transform(value.begin(), value.end(), value.begin(), [](
unsigned
char
c)
49
{
50
return std::toupper(c);
51
});
52
53
if
(value ==
"UNDEFINED"
)
54
{
55
mode
=
BorderMode::UNDEFINED
;
56
}
57
else
if
(value ==
"CONSTANT"
)
58
{
59
mode
=
BorderMode::CONSTANT
;
60
}
61
else
if
(value ==
"REPLICATE"
)
62
{
63
mode
=
BorderMode::REPLICATE
;
64
}
65
else
66
{
67
throw
std::invalid_argument(
"Unsupported value '"
+ value +
"' for border mode"
);
68
}
69
70
return
is;
71
}
72
}
// namespace arm_compute
73
#endif
/* ARM_COMPUTE_TEST_TYPE_READER_H */
arm_compute::BorderMode::CONSTANT
@ CONSTANT
Pixels outside the image are assumed to have a constant value.
arm_compute::BorderMode::UNDEFINED
@ UNDEFINED
Borders are left undefined.
Types.h
arm_compute::BorderMode::REPLICATE
@ REPLICATE
Pixels outside the image are assumed to have the same value as the closest image pixel.
arm_compute
Copyright (c) 2017-2024 Arm Limited.
Definition:
introduction.dox:24
clang_tidy_rules.mode
mode
Definition:
clang_tidy_rules.py:196
arm_compute::BorderMode
BorderMode
Methods available to handle borders.
Definition:
Types.h:231
arm_compute::operator>>
inline ::std::istream & operator>>(::std::istream &stream, DataType &data_type)
Input Stream operator for DataType.
Definition:
DataTypeUtils.h:290
tests
TypeReader.h
Generated on Mon Mar 18 2024 11:32:04 for Compute Library by
1.8.17