EasyGUI
gui_math.h
1 
6 /*
7  * Copyright (c) 2019 Tilen MAJERLE
8  *
9  * Permission is hereby granted, free of charge, to any person
10  * obtaining a copy of this software and associated documentation
11  * files (the "Software"), to deal in the Software without restriction,
12  * including without limitation the rights to use, copy, modify, merge,
13  * publish, distribute, sublicense, and/or sell copies of the Software,
14  * and to permit persons to whom the Software is furnished to do so,
15  * subject to the following conditions:
16  *
17  * The above copyright notice and this permission notice shall be
18  * included in all copies or substantial portions of the Software.
19  *
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
22  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
23  * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24  * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27  * OTHER DEALINGS IN THE SOFTWARE.
28  *
29  * This file is part of EasyGUI library.
30  *
31  * Author: Tilen Majerle <tilen@majerle.eu>
32  */
33 #ifndef GUI_HDR_MATH_H
34 #define GUI_HDR_MATH_H
35 
36 /* C++ detection */
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 #include "gui_utils.h"
42 #include <math.h>
43 #include <errno.h>
44 
52 uint8_t gui_math_sqrt(float x, float* const result);
53 uint8_t gui_math_rsqrt(float x, float* const result);
54 uint8_t gui_math_distancebetweenxy(float x1, float y1, float x2, float y2, float* const result);
55 uint8_t gui_math_centerofxy(float x1, float y1, float x2, float y2, float* const resultx, float* const resulty);
56 
61 /* C++ detection */
62 #ifdef __cplusplus
63 }
64 #endif
65 
66 #endif /* GUI_HDR_MATH_H */
uint8_t gui_math_sqrt(float x, float *const result)
Calculate square of input value.
Definition: gui_math.c:46
uint8_t gui_math_centerofxy(float x1, float y1, float x2, float y2, float *const resultx, float *const resulty)
Calculate center XY coordinate between 2 XY points.
Definition: gui_math.c:115
uint8_t gui_math_rsqrt(float x, float *const result)
Calculate reverse square of input value.
Definition: gui_math.c:64
uint8_t gui_math_distancebetweenxy(float x1, float y1, float x2, float y2, float *const result)
Calculate distance between 2 XY points.
Definition: gui_math.c:95