RetroArch
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