Openholo
v5.0
Open Source Digital Holographic Library
epsilon.h
Go to the documentation of this file.
1
/*M///////////////////////////////////////////////////////////////////////////////////////
2
//
3
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4
//
5
// By downloading, copying, installing or using the software you agree to this license.
6
// If you do not agree to this license, do not download, install, copy or use the software.
7
//
8
//
9
// License Agreement
10
// For Open Source Digital Holographic Library
11
//
12
// Openholo library is free software;
13
// you can redistribute it and/or modify it under the terms of the BSD 2-Clause license.
14
//
15
// Copyright (C) 2017-2024, Korea Electronics Technology Institute. All rights reserved.
16
// E-mail : contact.openholo@gmail.com
17
// Web : http://www.openholo.org
18
//
19
// Redistribution and use in source and binary forms, with or without modification,
20
// are permitted provided that the following conditions are met:
21
//
22
// 1. Redistribution's of source code must retain the above copyright notice,
23
// this list of conditions and the following disclaimer.
24
//
25
// 2. Redistribution's in binary form must reproduce the above copyright notice,
26
// this list of conditions and the following disclaimer in the documentation
27
// and/or other materials provided with the distribution.
28
//
29
// This software is provided by the copyright holders and contributors "as is" and
30
// any express or implied warranties, including, but not limited to, the implied
31
// warranties of merchantability and fitness for a particular purpose are disclaimed.
32
// In no event shall the copyright holder or contributors be liable for any direct,
33
// indirect, incidental, special, exemplary, or consequential damages
34
// (including, but not limited to, procurement of substitute goods or services;
35
// loss of use, data, or profits; or business interruption) however caused
36
// and on any theory of liability, whether in contract, strict liability,
37
// or tort (including negligence or otherwise) arising in any way out of
38
// the use of this software, even if advised of the possibility of such damage.
39
//
40
// This software contains opensource software released under GNU Generic Public License,
41
// NVDIA Software License Agreement, or CUDA supplement to Software License Agreement.
42
// Check whether software you use contains licensed software.
43
//
44
//M*/
45
46
#ifndef __epsilon_h
47
#define __epsilon_h
48
49
#include "
typedef.h
"
50
51
namespace
oph
{
52
53
extern
Real
epsilon
;
54
extern
Real
user_epsilon
;
55
extern
Real
intersection_epsilon
;
56
57
extern
Real
sqrt_epsilon
;
58
extern
Real
unset_value
;
59
extern
Real
zero_tolerance
;
60
extern
Real
angle_tolerance
;
61
extern
Real
zero_epsilon
;
62
63
#ifndef M_PI
64
#define M_PI 3.141592653589793238462643383279502884197169399375105820974944592308
65
#endif
66
67
68
/*|--------------------------------------------------------------------------*/
69
/*| Set user epsilon : Throughout the running program we could use the same */
70
/*| user epsilon defined here. Default user_epsilon is always 1e-8. */
71
/*|--------------------------------------------------------------------------*/
72
void
set_u_epsilon
(
Real
a);
73
74
void
reset_u_epsilon
();
75
76
77
void
set_zero_epsilon
(
Real
a);
78
79
void
reset_zero_epsilon
();
80
/*|--------------------------------------------------------------------------*/
81
/*| Approximated version of checking equality : using epsilon */
82
/*|--------------------------------------------------------------------------*/
83
int
apx_equal
(
Real
x,
Real
y);
84
85
int
apx_equal
(
Real
x,
Real
y,
Real
eps);
86
87
};
// namespace oph
88
#endif // !__epsilon_h
oph::sqrt_epsilon
Real sqrt_epsilon
Definition:
epsilon.cpp:56
oph::user_epsilon
Real user_epsilon
Definition:
epsilon.cpp:54
Real
float Real
Definition:
typedef.h:55
oph::reset_zero_epsilon
void reset_zero_epsilon()
Definition:
epsilon.cpp:83
typedef.h
oph::zero_tolerance
Real zero_tolerance
Definition:
epsilon.cpp:58
oph::epsilon
Real epsilon
Definition:
epsilon.cpp:53
oph::unset_value
Real unset_value
Definition:
epsilon.cpp:57
oph::apx_equal
int apx_equal(Real x, Real y)
Definition:
epsilon.cpp:91
oph::reset_u_epsilon
void reset_u_epsilon()
Definition:
epsilon.cpp:73
oph::zero_epsilon
Real zero_epsilon
Definition:
epsilon.cpp:59
oph::angle_tolerance
Real angle_tolerance
Definition:
epsilon.cpp:60
oph::set_zero_epsilon
void set_zero_epsilon(Real a)
Definition:
epsilon.cpp:77
oph::intersection_epsilon
Real intersection_epsilon
Definition:
epsilon.cpp:55
oph
Definition:
Bitmap.h:49
oph::set_u_epsilon
void set_u_epsilon(Real a)
Definition:
epsilon.cpp:68
Openholo
Openholo
src
epsilon.h
Generated by
1.8.14