Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.112
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
php-7.4.33 /
ext /
bcmath /
libbcmath /
src /
Delete
Unzip
Name
Size
Permission
Date
Action
.libs
[ DIR ]
drwxr-xr-x
2024-03-12 14:24
add.c
2.5
KB
-rw-rw-r--
2022-10-31 11:36
add.lo
325
B
-rw-r--r--
2024-03-12 14:24
add.o
71.13
KB
-rw-r--r--
2024-03-12 14:24
bcmath.h
4.63
KB
-rw-rw-r--
2022-10-31 11:36
compare.c
3.75
KB
-rw-rw-r--
2022-10-31 11:36
compare.lo
337
B
-rw-r--r--
2024-03-12 14:24
compare.o
70.95
KB
-rw-r--r--
2024-03-12 14:24
config.h
175
B
-rw-rw-r--
2022-10-31 11:36
debug.c
1.78
KB
-rw-rw-r--
2022-10-31 11:36
debug.lo
331
B
-rw-r--r--
2024-03-12 14:24
debug.o
71.29
KB
-rw-r--r--
2024-03-12 14:24
div.c
6.8
KB
-rw-rw-r--
2022-10-31 11:36
div.lo
325
B
-rw-r--r--
2024-03-12 14:24
div.o
79.02
KB
-rw-r--r--
2024-03-12 14:24
divmod.c
2.38
KB
-rw-rw-r--
2022-10-31 11:36
divmod.lo
334
B
-rw-r--r--
2024-03-12 14:24
divmod.o
72.11
KB
-rw-r--r--
2024-03-12 14:24
doaddsub.c
5.75
KB
-rw-rw-r--
2022-10-31 11:36
doaddsub.lo
340
B
-rw-r--r--
2024-03-12 14:24
doaddsub.o
75.63
KB
-rw-r--r--
2024-03-12 14:24
init.c
3.06
KB
-rw-rw-r--
2022-10-31 11:36
init.lo
328
B
-rw-r--r--
2024-03-12 14:24
init.o
73.13
KB
-rw-r--r--
2024-03-12 14:24
int2num.c
2.05
KB
-rw-rw-r--
2022-10-31 11:36
int2num.lo
337
B
-rw-r--r--
2024-03-12 14:24
int2num.o
70.88
KB
-rw-r--r--
2024-03-12 14:24
nearzero.c
1.93
KB
-rw-rw-r--
2022-10-31 11:36
nearzero.lo
340
B
-rw-r--r--
2024-03-12 14:24
nearzero.o
69.63
KB
-rw-r--r--
2024-03-12 14:24
neg.c
1.48
KB
-rw-rw-r--
2022-10-31 11:36
neg.lo
325
B
-rw-r--r--
2024-03-12 14:24
neg.o
68.05
KB
-rw-r--r--
2024-03-12 14:24
num2long.c
2.09
KB
-rw-rw-r--
2022-10-31 11:36
num2long.lo
340
B
-rw-r--r--
2024-03-12 14:24
num2long.o
69.23
KB
-rw-r--r--
2024-03-12 14:24
num2str.c
2.41
KB
-rw-rw-r--
2022-10-31 11:36
num2str.lo
337
B
-rw-r--r--
2024-03-12 14:24
num2str.o
71.31
KB
-rw-r--r--
2024-03-12 14:24
outofmem.c
1.43
KB
-rw-rw-r--
2022-10-31 11:36
outofmem.lo
340
B
-rw-r--r--
2024-03-12 14:24
outofmem.o
68.59
KB
-rw-r--r--
2024-03-12 14:24
output.c
5.48
KB
-rw-rw-r--
2022-10-31 11:36
output.lo
334
B
-rw-r--r--
2024-03-12 14:24
output.o
78.58
KB
-rw-r--r--
2024-03-12 14:24
private.h
1.49
KB
-rw-rw-r--
2022-10-31 11:36
raise.c
3.36
KB
-rw-rw-r--
2022-10-31 11:36
raise.lo
331
B
-rw-r--r--
2024-03-12 14:24
raise.o
72.98
KB
-rw-r--r--
2024-03-12 14:24
raisemod.c
3.63
KB
-rw-rw-r--
2022-10-31 11:36
raisemod.lo
340
B
-rw-r--r--
2024-03-12 14:24
raisemod.o
77.42
KB
-rw-r--r--
2024-03-12 14:24
recmul.c
7.37
KB
-rw-rw-r--
2022-10-31 11:36
recmul.lo
334
B
-rw-r--r--
2024-03-12 14:24
recmul.o
85.43
KB
-rw-r--r--
2024-03-12 14:24
rmzero.c
1.73
KB
-rw-rw-r--
2022-10-31 11:36
rmzero.lo
334
B
-rw-r--r--
2024-03-12 14:24
rmzero.o
68.13
KB
-rw-r--r--
2024-03-12 14:24
sqrt.c
3.36
KB
-rw-rw-r--
2022-10-31 11:36
sqrt.lo
328
B
-rw-r--r--
2024-03-12 14:24
sqrt.o
74
KB
-rw-r--r--
2024-03-12 14:24
str2num.c
2.93
KB
-rw-rw-r--
2022-10-31 11:36
str2num.lo
337
B
-rw-r--r--
2024-03-12 14:24
str2num.o
71.71
KB
-rw-r--r--
2024-03-12 14:24
sub.c
2.54
KB
-rw-rw-r--
2022-10-31 11:36
sub.lo
325
B
-rw-r--r--
2024-03-12 14:24
sub.o
71.09
KB
-rw-r--r--
2024-03-12 14:24
zero.c
1.83
KB
-rw-rw-r--
2022-10-31 11:36
zero.lo
328
B
-rw-r--r--
2024-03-12 14:24
zero.o
69.83
KB
-rw-r--r--
2024-03-12 14:24
Save
Rename
/* sqrt.c: bcmath library file. */ /* Copyright (C) 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc. Copyright (C) 2000 Philip A. Nelson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. (LICENSE) You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to: The Free Software Foundation, Inc. 59 Temple Place, Suite 330 Boston, MA 02111-1307 USA. You may contact the author by: e-mail: philnelson@acm.org us-mail: Philip A. Nelson Computer Science Department, 9062 Western Washington University Bellingham, WA 98226-9062 *************************************************************************/ #include <config.h> #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <stdarg.h> #include "bcmath.h" #include "private.h" /* Take the square root NUM and return it in NUM with SCALE digits after the decimal place. */ int bc_sqrt (bc_num *num, int scale) { int rscale, cmp_res, done; int cscale; bc_num guess, guess1, point5, diff; /* Initial checks. */ cmp_res = bc_compare (*num, BCG(_zero_)); if (cmp_res < 0) return 0; /* error */ else { if (cmp_res == 0) { bc_free_num (num); *num = bc_copy_num (BCG(_zero_)); return 1; } } cmp_res = bc_compare (*num, BCG(_one_)); if (cmp_res == 0) { bc_free_num (num); *num = bc_copy_num (BCG(_one_)); return 1; } /* Initialize the variables. */ rscale = MAX (scale, (*num)->n_scale); bc_init_num(&guess); bc_init_num(&guess1); bc_init_num(&diff); point5 = bc_new_num (1,1); point5->n_value[1] = 5; /* Calculate the initial guess. */ if (cmp_res < 0) { /* The number is between 0 and 1. Guess should start at 1. */ guess = bc_copy_num (BCG(_one_)); cscale = (*num)->n_scale; } else { /* The number is greater than 1. Guess should start at 10^(exp/2). */ bc_int2num (&guess,10); bc_int2num (&guess1,(*num)->n_len); bc_multiply (guess1, point5, &guess1, 0); guess1->n_scale = 0; bc_raise (guess, guess1, &guess, 0); bc_free_num (&guess1); cscale = 3; } /* Find the square root using Newton's algorithm. */ done = FALSE; while (!done) { bc_free_num (&guess1); guess1 = bc_copy_num (guess); bc_divide (*num, guess, &guess, cscale); bc_add (guess, guess1, &guess, 0); bc_multiply (guess, point5, &guess, cscale); bc_sub (guess, guess1, &diff, cscale+1); if (bc_is_near_zero (diff, cscale)) { if (cscale < rscale+1) cscale = MIN (cscale*3, rscale+1); else done = TRUE; } } /* Assign the number and clean up. */ bc_free_num (num); bc_divide (guess,BCG(_one_),num,rscale); bc_free_num (&guess); bc_free_num (&guess1); bc_free_num (&point5); bc_free_num (&diff); return 1; }