File tree Expand file tree Collapse file tree 4 files changed +66
-10
lines changed Expand file tree Collapse file tree 4 files changed +66
-10
lines changed Original file line number Diff line number Diff line change 1
1
#include < funtras.hpp>
2
-
2
+ # include < math.h >
3
3
4
4
// Calcula el factorial de n -> (n)!
5
5
long double funtras::fact (int n){
@@ -241,6 +241,11 @@ double funtras::atan_t(double x){
241
241
}
242
242
}
243
243
244
+ // Aproxima el valor del arcocoseno
245
+ double funtras::acos_t (double x){
246
+ return funtras::pi_t ()*funtras::div_t (2 ) - funtras::asin_t (x);
247
+ }
248
+
244
249
245
250
// Aproxima el valor de la raiz cuadrada
246
251
double funtras::sqrt_t (double x){
@@ -267,3 +272,20 @@ double funtras::log_t(double x,double a){
267
272
else
268
273
return funtras::ln_t (x)*funtras::div_t (funtras::ln_t (a));
269
274
}
275
+
276
+
277
+ // Aproxima el valor de PI
278
+ double funtras::pi_t (){
279
+ double pi = 0 ;
280
+ double error = funtras::tolerancia + 1 ;
281
+ int k = 0 , den;
282
+
283
+ while (error > funtras::tolerancia && k < funtras::max_iteraciones){
284
+ den = (2 *k)+1 ;
285
+ pi += 4 *funtras::power_t (k,-1 )* funtras::div_t (den);
286
+ error = abs ( pi- M_PI );
287
+ k++;
288
+ }
289
+
290
+ return pi;
291
+ }
Original file line number Diff line number Diff line change @@ -112,7 +112,7 @@ namespace funtras {
112
112
/* *
113
113
* @brief Realiza la aproximacion de arcoseno de una variable.
114
114
* @param x Valor de la variable.
115
- * @return El resultado de acos (x).
115
+ * @return El resultado de asin (x).
116
116
*/
117
117
double asin_t (double x);
118
118
@@ -123,6 +123,13 @@ namespace funtras {
123
123
*/
124
124
double atan_t (double x);
125
125
126
+ /* *
127
+ * @brief Realiza la aproximacion de arcocoseno de una variable.
128
+ * @param x Valor de la variable.
129
+ * @return El resultado de acos(x).
130
+ */
131
+ double acos_t (double x);
132
+
126
133
/* *
127
134
* @brief Realiza la aproximacion de raiz cuadrada de una variable.
128
135
* @param x Valor de la variable.
@@ -145,6 +152,13 @@ namespace funtras {
145
152
* @return resultado del logaritmo base a, de la variable x.
146
153
*/
147
154
double log_t (double x, double a);
155
+
156
+ /* *
157
+ * @brief Calcula un valor aproximado para PI utilizando la serie de Leibniz.
158
+ * @return Valor apróximado de PI.
159
+ */
160
+ double pi_t ();
161
+
148
162
};
149
163
150
164
#endif // H_FUNTRAS
Original file line number Diff line number Diff line change @@ -55,6 +55,12 @@ void tan_t_test(){
55
55
void asin_t_test (){
56
56
cout << funtras::asin_t (0.5 ) << endl;
57
57
cout << funtras::asin_t (-0.3 ) << endl;
58
+ cout << " --- " << 2 *funtras::asin_t (0.9 ) << endl;
59
+ }
60
+
61
+ void acos_t_test (){
62
+ cout << funtras::acos_t (0.5 ) << endl;
63
+ cout << funtras::acos_t (-0.3 ) << endl;
58
64
}
59
65
60
66
void atan_t_test (){
@@ -76,6 +82,11 @@ void log_t_test(){
76
82
cout << funtras::log_t (50 ,3 ) << endl;
77
83
cout << funtras::log_t (27 ,7 ) << endl;
78
84
}
85
+
86
+ void pi_test (){
87
+ cout << " PI = " << funtras::pi_t () << endl;
88
+ }
89
+
79
90
int main (int argc, char const *argv[])
80
91
{
81
92
power_test ();
@@ -93,5 +104,7 @@ int main(int argc, char const *argv[])
93
104
sqrt_t_test ();
94
105
root_t_test ();
95
106
log_t_test ();
107
+ pi_test ();
108
+ acos_t_test ();
96
109
return 0 ;
97
110
}
Original file line number Diff line number Diff line change 16
16
17
17
cd FunTras
18
18
19
- if ! [ -d ./FunTras/ build/ ]
20
- then
19
+ BUILD=./ build
20
+ if [ ! -d " $BUILD " ] ; then
21
21
mkdir build
22
- echo ' [OK] Build directory created'
22
+ echo ' [OK] $BUILD directory created'
23
23
else
24
- echo ' [OK] /FunTras/build exists on filesystem'
24
+ echo ' [OK] $BUILD exists on filesystem'
25
25
fi
26
26
27
- if ! [ -d ./FunTras/ lib/ ]
28
- then
27
+ LIB=./ lib
28
+ if [ ! -d " $BUILD " ] ; then
29
29
mkdir lib
30
- echo ' [OK] Lib directory created'
30
+ echo ' [OK] $LIB directory created'
31
31
else
32
- echo ' [OK] /FunTras/lib exists on filesystem'
32
+ echo ' [OK] $LIB exists on filesystem'
33
33
fi
34
34
35
35
# Agregar funtras.hpp
36
+ FILE=/usr/include/funtras.hpp
37
+ if [ -f " $FILE " ]; then
38
+ echo " [OK] $FILE exists"
39
+ sudo rm /usr/include/funtras.hpp
40
+ fi
41
+
36
42
sudo cp ./src/funtras.hpp /usr/include
43
+ echo " [OK] $FILE stored and updated" .
37
44
38
45
# Compilar y crear biblioteca
39
46
g++ -Werror -c ./src/funtras.cpp -o ./build/funtras.o
You can’t perform that action at this time.
0 commit comments