summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2018-12-14 11:27:09 +0100
committerDenys Vlasenko2018-12-14 11:27:09 +0100
commit240d7ee3fcff86b557cfac12cb74073e119957a1 (patch)
tree9404f4c6f8df54e0e83a1cf38ad69a163ef69e20
parentfc9d26902ba30340d1eef2153cc5823a53e72919 (diff)
downloadbusybox-240d7ee3fcff86b557cfac12cb74073e119957a1.zip
busybox-240d7ee3fcff86b557cfac12cb74073e119957a1.tar.gz
bc: shrink s() in library again
function old new delta bc_lib 1596 1586 -10 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-10) Total: -10 bytes text data bss dec hex filename 980152 485 7296 987933 f131d busybox_old 980142 485 7296 987923 f1313 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--miscutils/bc.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c
index f0c323d..547af8e 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -7213,16 +7213,13 @@ static const char bc_lib[] ALIGN1 = {
"\n" "return(r/1)"
"\n" "}"
"\n" "define s(x){"
-"\n" "auto b,s,r,n,a,q,i"
+"\n" "auto b,s,r,a,q,i"
+"\n" "if(x<0)return(-s(-x))"
"\n" "b=ibase"
"\n" "ibase=A"
"\n" "s=scale"
"\n" "scale=1.1*s+2"
"\n" "a=a(1)"
-"\n" "if(x<0){"
-"\n" "n=1"
-"\n" "x=-x"
-"\n" "}"
"\n" "scale=0"
"\n" "q=(x/a+2)/4"
"\n" "x-=4*q*a"
@@ -7236,7 +7233,6 @@ static const char bc_lib[] ALIGN1 = {
"\n" "}"
"\n" "scale=s"
"\n" "ibase=b"
-"\n" "if(n)r=-r"
"\n" "return(r/1)"
"\n" "}"
"\n" "define c(x){"