RetroArch
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
+
Variables
a
b
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
+
Typedefs
a
b
c
d
e
f
g
i
l
m
o
p
q
r
s
t
u
v
x
+
Enumerations
a
b
c
d
e
f
g
i
k
l
m
o
p
q
r
s
t
v
+
Enumerator
a
b
c
d
e
f
g
i
k
l
m
o
p
r
s
t
u
x
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
Enumerations
+
Enumerator
a
b
c
d
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
+
Properties
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Related Functions
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Á
á
é
Ά
Ή
Α
Δ
Ε
Κ
Ο
Π
Σ
Ω
α
ε
θ
π
В
И
К
О
П
У
а
в
д
з
и
к
о
п
с
ф
ч
я
オ
キ
ス
チ
デ
レ
上
下
中
右
启
啟
回
実
屏
左
已
巻
支
显
次
聲
过
鍵
需
顯
게
구
너
넷
도
동
되
레
리
버
변
비
사
성
쉐
시
실
애
연
오
이
입
잘
조
죄
중
지
참
코
키
필
화
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Á
á
Ά
Ή
Α
Ε
Κ
Ο
К
П
а
д
з
к
オ
ス
デ
レ
上
下
中
右
启
啟
回
屏
左
巻
支
显
次
聲
顯
너
넷
동
레
버
비
시
잘
중
지
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
é
Δ
Ε
Κ
Π
Σ
Ω
α
ε
θ
π
В
И
К
О
У
в
д
з
и
к
о
п
с
ф
ч
я
キ
チ
実
已
过
鍵
需
게
구
도
되
리
변
사
성
쉐
시
실
애
연
오
이
입
조
죄
참
코
키
필
화
+
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
+
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
libretro-common
include
clamping.h
Go to the documentation of this file.
1
/* Copyright (C) 2010-2018 The RetroArch team
2
*
3
* ---------------------------------------------------------------------------------------
4
* The following license statement only applies to this file (clamping.h).
5
* ---------------------------------------------------------------------------------------
6
*
7
* Permission is hereby granted, free of charge,
8
* to any person obtaining a copy of this software and associated documentation files (the "Software"),
9
* to deal in the Software without restriction, including without limitation the rights to
10
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11
* and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
16
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
19
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
*/
22
23
#ifndef _LIBRETRO_SDK_CLAMPING_H
24
#define _LIBRETRO_SDK_CLAMPING_H
25
26
#include <stdint.h>
27
#include <
retro_inline.h
>
28
39
static
INLINE
float
clamp_float
(
float
val
,
float
lower,
float
upper)
40
{
41
if
(
val
< lower)
42
return
lower;
43
if
(
val
> upper)
44
return
upper;
45
return
val
;
46
}
47
56
static
INLINE
uint8_t
clamp_8bit
(
int
val
)
57
{
58
if
(
val
> 255)
59
return
255;
60
if
(
val
< 0)
61
return
0;
62
return
(
uint8_t
)
val
;
63
}
64
65
#endif
val
GLuint GLfloat * val
Definition:
glext.h:7847
INLINE
#define INLINE
Definition:
retro_inline.h:35
retro_inline.h
clamp_8bit
static INLINE uint8_t clamp_8bit(int val)
Definition:
clamping.h:56
clamp_float
static INLINE float clamp_float(float val, float lower, float upper)
Definition:
clamping.h:39
uint8_t
unsigned char uint8_t
Definition:
stdint.h:124
Generated by
1.8.15