[git commit] bc: shrink s() in library again

Denys Vlasenko vda.linux at googlemail.com
Fri Dec 14 10:27:09 UTC 2018


commit: https://git.busybox.net/busybox/commit/?id=240d7ee3fcff86b557cfac12cb74073e119957a1
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

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 at googlemail.com>
---
 miscutils/bc.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/miscutils/bc.c b/miscutils/bc.c
index f0c323d93..547af8eaf 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){"


More information about the busybox-cvs mailing list