From 6e9d3ea52fbc0227335ad3a4f866fa4ee327edbf Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Mon, 20 Apr 2026 08:50:24 -0400 Subject: [PATCH] isqrt: add integer square root builtin to all three impls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Semantics: (isqrt n) → floor(sqrt(n)). Negative argument errors. Matches Python 3.8+ math.isqrt and R7RS exact-integer-sqrt contract. - Python: wraps math.isqrt via lambda registration - C: hand-rolled bit-by-bit algorithm in bi_isqrt (O(log n), no FPU) - asm: new BI_ISQRT=109, bit-by-bit algorithm in integer registers (%r8/%r9/%r10). Negative input → stderr + exit(1) like other errors. GC builtin constants bumped to 110-114. Tests: - tests/functional.lsp: 7 shared tests (0, 1, perfect squares, floor cases, large values). Python + C now 196 each (was 189). - asm/test.sh: 5 asm-local tests. asm suite now 142 (was 137). MOAD: all three implementations O(log n), no O(N²) hazards. --- asm/lumbda | Bin 55776 -> 56264 bytes asm/lumbda-gc | Bin 60408 -> 60896 bytes asm/lumbda-gc.o | Bin 63384 -> 64088 bytes asm/lumbda.o | Bin 54048 -> 54760 bytes asm/lumbda.s | 73 ++++++++++++++++++++++++++++++++++++++----- asm/test.sh | 5 +++ c/builtins.c | 20 +++++++++++- lumbda.py | 1 + tests/functional.lsp | 7 +++++ 9 files changed, 98 insertions(+), 8 deletions(-) diff --git a/asm/lumbda b/asm/lumbda index 8fccc7c6f49cc7e1d0b7fd76375d884765197d51..6cf479073e35b5cee0390a656dade2425ca93eaf 100755 GIT binary patch literal 56264 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 R;>$*BYO*q9@7*}g{{bjucL4wZ delta 17465 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 diff --git a/asm/lumbda-gc b/asm/lumbda-gc index 5214f87a3225c85b763105c1aff9491edd870cf7..55eba6e00ef99a1847bf4e32ed9c4b8185659974 100755 GIT binary patch literal 60896 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

&+x^~NC1a3M3+n`R@tMe(^<~)1SZrUqh z6Q8J@`w)cv!Pd%!WS00iWe~f=dnqZL7~J9AT5{=$3=9MJam_H8AJr0u`X98E=H7TG zNxUnJj`l_`$F7Dty*jxlVgJmFEd~_GeHrB1iOwKJsBq z&uG})WAm-I!h>iRdXnA>do>!Kx-rGRaJg^ma^L>HVa4!9_Nb{LirEW^B)rpT6Rks3 zRZwq1ZksUh&|{qX>}Xj=d4)IfZtN`8oZEbM+9!^8gR$SqMPxUzK_iT!aW}=KRDlCit-i|y?&2lUCib(hVBIqWv&!7^ci+S`4?dk5KZcS|w zs#V7d9Mq!7AMIlXD10XW$;iH-oNO3WhyABjKH2g%`(j&_(1m_pNeNS_Ur~FXZ3WdnuyShH$%tQ2y$s>W z#x4QF;jN&03E9*-{(i)cG-etxI^7%fqx>IwBRlMl9#?3Ny1v}SFp?!Niq24Uv6Gip z#Ci@=a@&?v`w|N4kN|7g8Sy`0`a|jVAH@zywYMixqbUuVsJfZ6is!(XFs5Ahia)8% z8%%N-%P1|z@*m@50NsC&Ug{Ed1C{gziKLU=>tvl!P$i_&Axo1hbVB_3{Q=swnPUU` zC}e$ZF#YwSUJ@Lu6C9UJ@D-Kdi>jONAEwhxq=TB*5e})1Aa;PL4eA3}6>%kxC+BZW z{_m+C1q;}fC<<)`l4tvi^U1em6rkF@D8slhZlGJ@4F9oeG8{*Frr`R0lX43p_cG4; z8NE67#SVVh)1%Je$c;L)mJ@pz)t95Knb;bslnY@pc7&K9FIpOfO?HNgF~S|5s-+X%;Yuxybce6h(r9;h<^ZL4 zk~_RaODDU--_+76?(kDu8siQh)Y4dYcqsNDsDo48;d8ZgnmfE$OIhx4L`$cmHnfC8 zc@1`Dh%w$B{9e!0y z=eWZc4pr=2)Ss4c?7vS-IqvX4w+cPa9iFYF$?otXElokKY3Y1-c$~f?bb&kEtfdRl zZo^dEsVIw!Ev~;mMe7BaSxx+7MX@)zzafFI76QNql#U4vbv)tjsTAJ<-fA<8X zHycb#dG7EKj8j}&zB}yEQh_`COP%r@cX*eU=DNfGqeBbbVfSzqqsSdD*3v3>_JG1%sH8G?xO|e5%H82#XsN;-e(Y?;D$!%lQBoCJQ0K7_Ev-{o> zt!F8{CGPMCnpL~Q8^$QM)E(~B(lU2Aj42i+y%hUNEnS8_sio!a@HMBZP#>;WOP6D} zdYWQ>cX+OrYLJSSYTex#c+M|Q;?K#Hl`&{UmBmx?}CeV^P*B9kbQ!+)c6 znoK%4T+mFf;*9Pkj{Dy2@x2sdMluFly2O&@h@4?}9fh_2nCqC{6`}(adZ%MItuN#F zkv81)Uqo`>Qcg?F|9)=nn@9hb5j)@1JNn+QZyp{f}*C4w;{E zY!D3+EJ~MuS@zJ;ce~u-Y5zv=2$qczq@z+DD6~~)nZg%?6NPF$wdtaRpsRf(?Z9Yh zRR)|5{q1Zrk@o!v<%+YThr>XjK>?o59?z_@BQRB;{ZEvs@U&) z4j-{2FVlV4p~%`hWi#0t(!FWjvG2aqTdx06azbCTI?!|bmUQaPb(W!f``weR(I=4W_2J$SC*`Own^ zH(3QU(%PTKZ6FWsq4eyG$Hdjr3{7o7_8c6O+;8{R47%}ok{;7b3e&r;#vI=je}g*E zlW+Z(X<>A~Hx+x8y6$}r|O&Hb`05<~NrF+xqBZqyyhgt4n{XgKOF z9e17eWRp0$VAhNK6ZQaQYq6sZIK%8yN7;+)jxSuH$%zx{G<{%K{nJaQ_2}e+vhoT# zJx{>Z;H12?dU+hDw3q1=mHoasFzKVq{`{o*<9I75o|E}Bo$|wDK;O3yAEo};^7rFc z)ZH{Ux;KuZ1JdzUPF+`8GyDN=c^+3&jB+(!u3Uthi(6^Dt0#)!&@7tI0};lgY34rM zu02Q^PxfF0<57UEaZGnO?C!M=%sPCl@LVclWE<>SZ^mBGcCBtZ8k&G-E>uY2gbYV9 zAM(X+JpI4Pyfm442A0WPrjCC7X0iYkQ~+(Q7)~mx95*QiS&m=(Vm(>^z8rY2Xisu0 zs;eY2c!Fv%PqIYQ@F;=4bvi~D2WImLnK5@t*&f2`0i)>SXgFDx-!1tM+5+`IH6=rn z-*4U^!`0(d{}^MjGRnnK;ZN`g{r6c!-ZZHUq*RWLa7<;OOjAs^EvJ49quDIX9xy*( zip6t8rn{hjJ_nCV^0;HAx8yHMB#}wRO}2Kx1j4!P!Z0Ok2W8hM{uIK$Jde?_{7=wd zqC;*zPw%#FfJ=RMD3+`x*!rv?f64~R(f+ghV`+~{ZL^V z##1*83RXc`?AI?L{t`TKk#2Y6X$H$G+(gDoy7P*21#DKhQ$u|Zwz5$e>vqRm$a$vP z{-xs)#<>}E9(s~`c}I6f>@uXL(uzD`M=ryIV8z%YFEk09my!Tt>OG{}+qsyY8w|Zx zbW@+AO?b#-i(1`x#NWHjj>Hm0aa_tV^BH!d^qf}IZOsYP?@lA-QD|DbGzfR&;?PdDbHVgvQ{Jmi%i!oSc8{7X$E^ z>&ne|TH&A$j=xD;DYHTP@D=Vn#~lnROZP+TGGbed?y*&dXKFp&{i$*aHqD1QzZ+X| zn0~nr34L@-_e1#^x&93qxmUVxz6gfs+yeL4XOO$pee;=c_h;klIMMJxiJMgMK*?t? zI`8jutZHIogXVsV4AV3gI;N$$!#gO(v-ol(j_I@qXSUyvs+uX(?OFH6U#hrt&bcNd z{;DGiRSRihJKj!dZjfoJt^`Z#p5&~pHcv}TW1*P_*zSArFx8IuKd`Te)%>mZfs8SG zY%+;m?#3Oo+x;80`cUeYhY#sJM*IVs9EKi0O{B2ya$G^54aGRm;CXaBpiV7_=W=Hk zPv5eppQr1+KJkx>(OXW#Z2)iDb9kJyZIEZucF%MBi_@Nqr^8h`uX(Xe{>5(7laTHA z5*}&3R;H@%Em_FuSo1a6rE!*{Cctcysh*RAY4pSk{vClDXL?8e^2-0iNlSfM)k0dY;nMh3d-)UD!Us^ zb~q2=DF&MVU$QrT5*lpdDQ?Q6=NUY-f-H_*tI)UJJ>pE5EHZYqa91zZgX3sB;$v)8 z?V>|>;--fqSPfXLO0nTD_uiipqocoj;}bZ}o3(^?<`2TZ{}=e`ElEr}8@3~3wZWhc zH`?wvkb#?7csBSR%=_4W`EX}`2Q3J_?e^$7-7jh0MakwJ^(;3p_KP?Sno}PZV`;D}aa@;};m27%%+f z7PZt~rD9AuWRU5cdheM^8J2D+d!uKZe-`a2#-0Pmi@QP_KY-DbqD6~v8RqcUH`GQ) zz)%wssMHBipGPUwVi%qD{+VRdv7=X6vDL4ll@kFkAOMlhOh!^_8L>+oYQNEH{k0nG zPb#%lnfq7vP(M54>lEI-nF4SbYF0?}Y;b9{u%qa9vAvSvD|6k|YFqMt78F%5-4UmsQ)IyhMVceC-4FMjFl**a z^+bHfcy&9Lpp@7&G z*iWIPw7XZoE4uA9m?rnr-uZl}kb5$_1KAx8cR31!8(t{Z0d*zGu0}_q)Pkl=u3S!24|ivl6~v{pkz~J z$#98sqHu4zLG_&D4IuP%Y^rDicMLB|2{j$Tw18v4%pH1N!C~1GId_7m6E+H%nGlKe z%nX>gCRGW%s&K0rokSPJkGYPw_|0@}^y7i@4Da+KYt!lXhAF+exBA6lY(BP3u6MKa z7~Lh@m&xyqxVqtDjQ$3WF7}XnH2FOoH9Viho(YXe>t$MXy>ZM z?$H=Nv5&T?YwU+ZJ0=m#BKg$k&?fnr`Q&!mqcJlpu{%v$&bqKq-PsNkXK(w|l<|&z z;XN=|n|-00$!`VN|2=#;8h|%g&XGDXMTMThjU0&moCa6No;4XYWUb<5lKP*yq$0 zbfPjBd!uJzLqvUzeu+kpSXOgBxSQiu55zsI>lg#!L-inBg}PIwer~I}fBRrIvJ^+2 zivI~e=*4#YWwPcKQ^}STU_5tG(9e8iXu)kMx7~x^%cgXVUal;%l}~cN4$F-v(su&S zQvZH)bo|+Ay~)!|2{$0O;|+cqvDwJ`c;UzG_y0*(cn#}|?(N5R1xHVS2s&Mp}g8zd+rl;a5&(p62r@W1y+YLrE zD-?uuiIQMma8075W?hT^v&KdMc`f|twr5Bd1@yRvY3CnTsxoxLp%3P6wG+vM9H-w} z(9b^b6QiC^VNt z@w=|+iI8CwGAL!CbKJNv6}=N~D2V8O2Bm1!Fh+>Y3dU0Incs$c?+)O7z zeiTLBkI0{ce-&}~kT-2J^;6w%QC`Q%QSD~6=~_J=gsp9Fj|b6~ve&*$XL&qrNaa$8 zxbAIgv@1gc*$?icFpP3s0q)qUuE4XzD=E6I&u{d9Q^@F}GwP0Yq-1p5bIl&w z4e93vc&c~;d1N3Dq>V*_?mQ@~p`ImaMC9Xy(H}o?Jn7uYxdYrcJ_fyF+}`n^&B+qE zBmN40S6#TNZ(rO(^U(7goj)QKOu9Pwj~x7^&A4tQH({^s0dq_yZXNecZ4W$hsVYOZ z2lfwKC2z)Bu?^LoGNtbEKSD_7_$}bon^$W?Ez0CrcyyJ`qMu-2O~*$P$k@c^>=zzM zoU>J+Dxf)SqqWdd_|GqWC#W=&2khfCR_t-L)jeWuz@1=cIgV?YKn??vBk}l`*hop! z;CWBgVy~(HSH@!`cdQ9xBOv|WKpQF4Efs8QLL+*bKX#Hvk7~4v zP(O|C)yPNapO2}uexXq%p*nis74(cO(OJ5jn-*&GNEs4v`V9a zgs#)521xzF9=}1Pr}nWC!tp71)tQ$>bKi*}?VPmiw6oJ@rRAp0rodo&t-me3 zwyw?9+}_lb=W6vgw&kTaw}krFH3nOo{OkKS2i7)G`b~|&P`{=?^NLVIpWIn}X3uh6 z8E9+C>$j?oT1^mr<{e$aQ)wDFh4Yf5kugDwN+SXDVsB3Qv2f(Ef_!st^Mj7n?ixM0rf3Sb=ggU`cOuF zOIvopU)$hLs{&M1mp>S6sdcSwYYYX3=psOyE^i?F+5+_^K!St0qTO$``oaZ8xHz3$vql?@( zu&y>sAh|72 zyG98?H0}TuN*N3$i4Y|@q#@vkui4)kY-kA$Rz8#w)faHrwzsvR`(%e2R|T?H1vA?M z{<`e?ww6`d=DOGTn}+HRXo}`m_1NGKHe`qVHBEs*Niolzl#zev^r0z!G}1_?_dE-tdKh@@tWZ6-?0V)QB zydg%)_Se;M=HOJr6ib4=s>&qeq)qw`CsD)-z6SWG&V8|Z|4qV$9YRLAZcKw6Y zx5h(RMpR4)f$_P?LeFLolAT@D*4ENCBP$t5U3^B?s>WatQ$Q9jcc6D+@tnefIduBQ z4dBc3l{=T+B6jDq>tS~RyT$BQu)B!erR-kLZauqKu-nG&mF!-_?hWil*!?=Y-(>gu z?EZ}1JK4R5-G|xzBfF2WyOrIi*nN@R*VuiR-Gl6Y%5Go3u8)4~4q|s0yQA67Vs`?& z=de4K-P!CGvb%uYa&{N98(_DU-K*KXk=^gIdk4Gsv)je)^X%?n_g!}X!R{CA4zAJH zHG|W1qC%fNgm&b8?b4^Qob6wUNe_JC>nKQCD02_!b ze^z2aAIKOhMpjFG78c-^w)F<8m1jnlS?RO3)s{PT{E^*tqdIRv$lcR$S_n*_8DAC^z{<#!BMpNu(sY!AxA) zJe91!<|*e;4?TmG`YBbOLp}6#Q|f1_@*L{X`6ojH%+F3DC9P&o2F}#a2IV=_qi6qQ z2pN>9occPF{8r{<{Z0M+M0pPN=<7>{+{K(sOR1j+mFG~;+o=$;GK?c%fvuNVU)D4I z`#~zFY?t?r!#`#&)9IrUI5yuw%w_r`nCGkXl3!y?IwAvQHSguRvRPlKTNjyhl1VFR zHgn~qgv~!rI;G5IKU~IK8R1jXS;5?u!bl72^%&=MZ!HU)`yn&k{V9 zT2>!*LC5yb0nFv~W-=GqS|gdu_8P-n*26gFvc1k`F58R#H&}1;(lq9BUZO{sNng(E zmoS&}RXKC~;}OT_Qs%O~RxroE9dUeGn7bX+veq+qwu)t4!+e;~-^hHp;5ReJKM`?! zZevbQ2B&^*XD<8IubJ!hBpKsD=J>ZEj?Wh6cpk~|*})wD?!)nUmO1{Jh~x7zbNt&6 z$7c`oF%F6w+D+Qa-F@F`MDzBo0w+{{w?PC z=LwF_kC>n5pq6zv^T~qW&s?tW>Q)ZMuUy}Evi=1kotKzjDEMCHQw2Z3T<#M-XMVBJ zAE+j_Lp{?3AIW^W;91OP2!1wmJk#&^T*zGRPi8a69Y@D!9`o4_YFXvX^8{bcJYVpY z%nJk$F`py&Rm|rKek1cj!Ea$+B=~ok>wRT1@aN3uCy|owV{Qws?&YJOcm&_h`j-g) z0`moe?_us0d_VJI!9QVMB6zx5=nnPheQ`1{lX+PZDQPV8a>37GULp8J%qs;iU|uD7 zG4q9jS2JHEc!2q0!CRRx5&Ub+s|D|1uFnC8=4v@S18A|?HR`K5yYocU#f|AzT; z!5?Do6I?wZihM5@{7KgL3%;9qjo@!FuNC}5=5>M}WgZaRr8Yi?dg=wwWWGZ1(aakJ zAIH2=@N=18AvoPSruttg_#EaDZxKAiyjAe)nXeZ78_e4Tznytd z@ZTtoO~K{)j*y30Kf^&SYYXdV2>qv-4-oui<^u)a!#q>)eaue~{2=p_1^J1wWs8f#B1b8@sHj?tJFPPHXsl=EiPo zcrkO2NWYS~vFjTBYUakyYq+0zg-EA?xv>Kq{TAj+h5kC`#!hVXuVY>>^fxg#c4VXf zE#_@P|HsU)6#P!+*9d+e^BV+zhq=06kqdzs%U z`1{O_-P@#dl)15k8*Zrq+Q%|>al`vFe@vu5l)15+8~sttjUCDhOcC9?D&Ravk;a4*^c7DSn%#GdO z@LQRi`v8XjfVsIZVEFCK&3yvHf6Lt5H!%ER=H@1w3+}zhN{7mNNK8N8KFgN!- z3@>1A?t>U!%-q};F?=y|bDzX;KXY^6#PF5O&3zQZ+nEop$u~&3S1}(U_$KCAf`5m3 zw%|W!Ztlyd#PRiO=J`VZ0p{}r{|oan!M8DADEQONs|A0Fxli!D%o_x!|8xs$m=zM7 z-kL}JdciZ8-zfMA%+38IicOy^=C{}6!1h+}!swd^U4)AJA|Qb8}zN@Ji<9KB3`DnVb8D zhSxGT_Yn%!hi$r|6QHsdyjjEulY_ z_0=+#5+{ebw5QGHbPkGi<}=^ake`wY-eSt>Nc(Lq>;FvXx3K;wM=G#mv;H51{*A0J z?a$w0{ilWg&saZ8q<=r_e<1W9Wqv^LEzA!IzMc6$1>eQ|Q^8+i-mfv=QKDCwX9~WT z`6$8T%ts6U5%ZG-|D5^Bg7;H5B96U3J3{e3);OVm+Hv%ASpRIHKa+X3;PaWECwM9I z^95hb`~tyinNJnGMe##D^8Up&tY0SdJDD#L{5Iy73;s*y4T3++yjAdR%-0G2BJ*nn z-@|;9;2$u*Rq&(CZxg)lQ0iuVte*-#O!0KjC z$)fV4TiXR+!1~V$Ucr2~;7gg0zQS3aI>UeEq45F zl#YE)V<_{1DQS>+67wv<&th)nI|HUGo^DOt>1?mL%qI(8ZupZ<{pE%~<>d5373y!( z1izAbzTle@e6FLQ-(_w;<>YrTFBANJ=1TIYaOP%~$=KC|9Ji>g~Fem>$^EXa* z@;jI>75WR+jodVA%s8k1y{y0FR44xv^Lmkvdb=)ulXtt|&$9l$;m&mSGT$cjnB>IA3$V&-*% z`I34!kNxB%x9eFQ`hR5puF&7cJWJ@)8(FCS4+#CY zn2!?r|73o);9oE=7JTS%o&J5|ddD!oW2Cbl&R`xE>Etl~RPfo%j|x7Y`O|_gWIkM! z$H)94!B;S!BKT_Nmka(i=JyJ|k-4mgo0pC>tp602>m`M=>Bj}@WIS466uU#K34EEndb^Voq4g~Ma=IM zyoC901z*Da8Nmb0KN7r+xi#9^pRZy*PVi04&k+1O%x4JxbLLY8zmNGZ1^)x{UkSdA z`J;mWmHA_Wzs39o!T-tpfZ*vPbo-{CwpKVCGi{{S%r0 zkKp5(=Zkc5n5PRqo%xL-ojJ_EDY%#UgMu$*{*>VL%%dXTAoE>9|9a*h34RN6w@Bwl z%r6xDZswN={t)v{!M8HMOYrBI?-2YA=4Xg@e~zMyq@G$eug5S#gEK$!tWu7kh{mcgnzLj~s;Lk9>Uhv(_ zpA-BY<}V6GFi@Nvv5ML(Is{9M8FnU@G&%KQz%FJpd{ z;47IwDfl|({}MdHy#7pQzrBrlZncx&!Te>Re?RlnM1Ovaxf~ZyGhZ+CUuC{p@cqZ( zhnfFH=(|qV?G+V#IP*sYKaKfL!LykU7xNOmd6nje*M$B&=0k*j1@jKUFJ(S`lCz#0 zneP(%YnX2p{A%WJ3w|T>9FhLb%<~2R1@oQR&hq@4`C-9-&pa>3ss9M`h~SSg|BK*H zF#o6EPclFEJZJjPF%Jm-GV>n`{wDLs1>eW~4Z%NPepK*Jn2(+8EKd*fBEkEeV&Ri! z{a)~4%*Re~rZa|lt>6=wuM|9o`A-DDnE5ur3z(mHzBAtv=H-G{GhZ*bpZTu@U&*}v z0%!Vd%zq^Kdgglszn1xg3!Ujim{$n?ZRS@B{uAau7yK^fFAM$v^An~z^X+0jL-1#q zTNgR?|H?d9@Yk8w3%-x}t%4t9e#XVl^gm-hOYlBpEPT?eM+G0ue9kmyIwvyUA$S(^ zbEiA?Co#WF@C%s#N$_0eSu>pJ6fs{ecm?xo1;3Q}Uj=Vue)&vi`a$Lo34RUpMY&G> zDDxeH-^P5u;CC=TX_hmc`E%r6%F1?E=@{yOvT3;quCIeE_X4=}$+ z@K2dPEz;>f*1{*vI-$Us&IsmT6W2AC`8|T4$$XJja=SE%VFgI(dkBQK6G>VD6sh!0#C(9**R5l|LGbICe^c22R`8!PKTqt_e#QJ^!5?IvCwLe0%LL!W{C9%C!u$on-(mi-;0KwH68pN( znES>4ZQ$t^K55oXf{$YUEx{)+|48tu%Q1^*ZG9IiO_nLj9aIrEPMzm)mS^PTC}GjA5>tXAeVf?v!04#6YLi^Tcs z+suC=_)nQXDEMy_Kh$GBRJ-)~1M__4OMX4hJTHlq^aAtIg1=>WA7{Wn6i>6dM0x(j ze7E4PGbw(WwMXzF%s&?VWacM`bLCmgM+iQZ`B=g8nJ*K(lzEll%b4FLcs=u#;@lc! z{*2()F|QWq(_5Jj73a_&GG8V5oy;o){~hxy1>em4w}L;-{Gi~kF#nU_`C|7%yg=~ln3oFvb>^D{{}J=Wg5S;j8o?i7{!PIjXa1nzFEZaD_#4dM z7CgrM6k!kii1~EEzhM4t!3R#F>P@rm6nrG}9fF_A{E>yudOnN!J%V4veB>ghejanb z;2!383SP}6#To)w+j9f=3&9_WPa)rXL;^rKDpY- zA7Q>q=yx%{PVi@#PY~(6!TcSeA7eg9=pSTWDELw4D+KRzwuMicRlL+${z1&w3w{!K zCiJaLr~U}VkNsULFRT{;mg$uo<6i|Zyzh9&i zE-GK70*lHQ7U(=Hii!)+b&6C;3g)Qd6{DgNuee|dIde)&wJO?WjuBP0>q1wQ&Q(JB z!qO^F5gL=SESg_Xg#n;7N-I4HPoZZKDU=o#>VhmPDp5i~8ODUF#EPOtMHQ%ERRR@; zzFMUVIIq-OsOolJDSFmib@hmePDk2Bbe$v>RHB2Dpobg;^j&YFzTl}Snn&S~k{MI~ zE>{_%#;Qu;WtFN@0Fvk01r=4L)M4R)Q&mdDgrG)k3|-bk6eTahU@cWTkT_dNGz_2# z3FTr*=@%C)Kn1AM!>KAwG&h>Ps+2=0Tcu5*NO(4)FH&IztbIW-CK?poN zL1_Iu-I`G_)rs4^s(hF4{Yu1=CsOkJXd6>4UJ3VJ}Hxn>MhiiIwk zD2rW%9=t$Z8AMfZxLog$xGl7#@`qShq|$+e*|M@q4F`D4IET2PsM=6uYQzH5Om<~5 z*GkT{(##JCvAgi(O|uWLFd+vo zuOVkudlNZ<)%4vIqVE;zo8D?fKD^jSId#gR*BiBxpWbk!1iYhw{QRCH68V})q?f8F zSG^HPOZ2@$m4x1Wq|(qYKcWEr>K_I13M6*%79=GlUW7!Ncoz~mcpZ{*{Oib}mm(=u z{Z1M!s`nx(k=}iv1oL7fieuiGpf&jQNXk>!xP}z)nk40=Hzg@Szs87y_*2`^4kb&K~V(QA{4sW&GnZT0dbh3NfBB&b*Ykbo|tUrodwyxWDPWX8}5tX3JK z#zHOBt8~mz3joRVqM}d>-b6$mIH49ICPckDNyR6MC`#7vI3gWLoGm2uIcC&lb*R#( z*X1CbQK%)++-UYt3x`k!N}EEJpx>KBvFN=?#A!Aabq-~1E_AH1XYrT5Z;cYb@e-uv`lX#(h|J}NlVCzCH3AT1%rvKg1W>(o+%oF zc+rqnNu(7tO}(O)Uu{GRD{9rtjYy>T8>yEWkw*!MAmyXi8(Bdgy~0SnCMs3-Q8&|J zbhQad@jzRfuOWnS9}HS4vI^6k14D5|W38oES}Y9nJ#&4u-ZQWZEA%o@)97pVuL|g7 z_#G@NNtP4YVTz-fLxr)N2y1Csr8wLKQ{9;66%~^3sqmmL)YeW{UXLaqx4E$i-}G`8 zI4YZcK%@Q!CXMgf=4t(L*U_t63F{#2M&y1T$+;FC!Qm9HNsr-`7l8YLAxd zT0&^_AkC)jLAcZ`COfXwHB-P7vQBXQD$aqrF8VE2E1wZ{;Sye6w-SE6cqP1Q1xxra zI1@6hWeE=!w1nK!mJn%aQ=Z0Vyh_bi(_U|B32(b&iAHN8)YppnQu`Xw5;Q5m4TaWQ zmNFZ!s$%0DltDv)F0Zx>2vA@GutX=5~p^vPn#Y)lMyi#9S!bjDW@aW5j zx4tb9&}%w8tNd*%u~s1=(p0`Wyo9bn#nZ1lYot8{0-NyaL0`@K5XPDs{62pzy@QZF zZBwTD)HJEXYW+=^oV1J?ld4dA0>N5;Ya$7i9Olp3CO_uVI){$0%^xzU0m`|t8Z#qn^MDyuV@3KL`d*aDX=Cc{J~I)r>@1figqe>jR7A`T{$c2{XW!d zvz7uV{CX`m2iAqO)D{S}w_!$azzZiSYt__&<~1a@wxg$G)YI62c5SV%jTW#J(Wi=U zqG25QSFAuQux`yt%0xwjsCC(oeFOG(DS=!fokwV;2?~Z*I`gP&qlm~cxHb@=QmtzD zaev0R$6iSHcnS!p040RhqjUILDA`u@*cOZpB{jFOtLvk+u>mtU)e%XQEMnK`PC$Zg zERtx4tOIF7g7OeEZ=zyD zqAGGk!1ltzI)}>OWtw7Q7pRb4k!jhd4Wgw4Rca-fQY#O4c?->M4kIL@lq=g&QA%FP zg=SB^A1j*)sizm5so1olD+(bc0{OHOiV{F~LodQ>O|6{9#DuD=B9nYp%>{O2oyx~k8f?z%0WBnOM#%T0Ybo!YJpqZvWni?2DweeB3JFTNZ>61 ziTZ#@61I7$CE`xDqI|9Z@Bv;$EZT$KpG`i7UbDysG&6s&h5B&p?Jk6+RatRQ`p z1ZFdAUrCJu>Ka!xVrEWw)f`1(SU~yew1=-yO$*5oYE(xE&pb#0*OQ_Lj~ZkgfHgpu z2fS7_69?$TRLiL86YmMdbe)5fl-gk_K^+V<(-nkmkM^btbp2caij5#eI0Gh_6H$&< zHEzh|RYEbuSFWA_5NJjcDVl+#BAJ$JrSlfe3TkPfL@&BfB|)1*(&V;kO|(_3-X2nz zJ~xs?8JbpNA78QwRM!a)briL|!Gc9YpJEfEQJ5qs6fI%82;||0RmIiEEESW2sJ^Y7 z)<%>I)ehHm5Quax%c0|qo+blpV8v*vC#3rtT%2r`pSv{(3?HPxdt9ZmNn=YG%X{D>>uQ!W|OlOj0D)E zWJw_=N($MOG=WV?DNN75TtUeK>aDhJN)$$W@fusIh&Ad&REOQYYB6$g7-_CUlOjy{ zTIw)2k|O!c*)IX8d)HZN1RC2&GK{V_;ah=q70IaWeWEaWvu~ ziJ|Oa{t#Jx8nwl(QCr*^wZ*MbS=<_x#SLpQ%mR>cOoyz#ap^d6H)`t}9J0RQxT>vh z7-ZV|213?18f@w<<4Q-rXq-fK9ptk0tZk&`-jB1ntEe|;UQ~AjJMy@u$ z;WEhLhNxt5gF_a#Mq_cq)u}~BMbRsg66rvzgrvm{x$xV_wMNq7M%MxJ3MLF?aYNqP z;)bl%>&Yp|^eR;Xl>m-!*f3BSy{a4r5E3wLaoy9q%8BXMm6N32SWW_4+)(zU#Z7sX zX+=rNjG?0}ZmN>lK%-RH;)X`Tj({z0jWmZFi<=HH7B}rfMXSPN>g3EI(bfpXf~4$h zN-|osI?z=Zi<=5G7B}70Y;n^WsCd)?lwd4ws8VHdqwSyC7_!Apm6u+#uC)1-uT5?= zqti>wX<@+&WvLL_=7wg1&5b5^I&*8A7xE@sm|mQqNl{gjs;U!8q>Qz|Y+axTOPlJh zWQ5Z`V};W`j0bwFxe3&EI31)7agFK-qRx@@9&=Ju=XKh&pf`}8-)8P3+nW!Y10c0u zpck5_6h+(N(6p*UJBz9I!n9Dbae#73_%x^VS;4uM0=My|%} zHnHvJ%@j#`VL%sYX~LP`^kghjZ7sOd5~@=hmzp~297w*7hJfl!IWM2qyKsKpiZcP=C`3guF*U7M_CgptaMpo!Id!$d z?${hURft|9)Pkf{)mltJYQ@vbY7H%5l)A4i*oX@zuij)Uv8k~c$4n(+*{N@AqvL?~ zsXe{B^RvN9=BrXN9g0XNQJ;`ZI806I6kbzLyKu6B)L;@fkVLLfg?TFk z`yB447$xm7YV1=-QS=scB+Or?%lM7Og#zfRQ$jd*1d!D!5rB5&*v;n$X?aZXalKIh zi76o_vGbF8LrkH1<5m*{Rh#LWTEDLy3n2ADHKUtcX)brjoCxN2gGpqXutOsmEyLp9 zgk2x|Fb}N2CX{_#V6CW5I~+jv5F_elr|rKs5$4p8%$6%9qmd~G!c>g&A+K6P>i|(m zT(&jmCprL$Oqo|M)X3U&(Au`bhn-B0c1`MloCF1{rH|JwrMOBDIEqsPlL5?kL6}6XoF1d#bIsiq4JOoC2E_1${9OucrIfi|bM-b{`pagAY;(;3uYLS}{` zZ-&d-L@=VTBBa!kHQKky?1g%}}`Rq|y!<@!O9yRMV zglci~Toqf1G@0o+L3zzYvI^0-m*K7(MqnKom2+xv!%f|NQbrf@VTADlPJwl7hEgI| zD$$k77O7}6-HL6-MxXRyc~>_I*i#P+GZ_U{h$=P9x*G!H$d-&i10fLsqea_Hl~y7G z8JFo+gi6St8UYhsB7z@_C@j8sS|ZU*4QOl%rzjXQ4Z&o+k(g3%14>#! zS@qeLuNw^KJ--f9ZK0!^2p7TxpP=2YOVes@8|3F-8otvr* HS;qfgR1CwA literal 60408 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%0AmVf_%PwtS7X$1lI{ zrhlacx5w{zxBDVPpW86w`=Us6&6|cQHM6?mCzOd{DLpa}WtWDh&StPlEL||_b%YZ8 z0le4ZwpL>e^C2%~&v#qC%ZQ9ktWYPI1v|IT0Ik+r$L1B6%%j!w2;>GUTc#V zWo0y@`|!xKTTRu=dAwY?01p?pP=Dt)ipUzmD4HuB5t~U9>~pxCdk{3<>_HF4s{mU% zFx+9W`z}Vm=|Ee8w(nxwr{i%c^rg%AS$b@n8BAjPyBN9S>9E?4d2$QvnYwNt=QMv9e>&EYqh(rkr8<3f_-L=$V^G*qrv!fFf#w|BQHuu zo{4F4r!Avj?@lIQ9wor+RtzK+PRI4Epwsc|V7xQ?pQi)w741oyqNYe<{YG$&6(mzM z0k0C6N2fzga@V!Lf9eJGS8Z#bebkfw3A*_Ked#irR5j2_s2zz~b~h-`B~`+N}& z4zk<6(pB*1CxXbL%}v?uz!r$awiDfyb~`A#9v#oZ|NG+@63_h#?L`?xXuAV2Wi9H$ zfJ&)#)Q$}WC$BjE>(_AqBD`^t=C2~hi+6%9J9&kr} zy^zNUDw^r9nxdgSF&Z`9jd&LY**?Tvn8c3hMDUGMw z&cIRnA6=6f-)wb{EHb=PThQK%(vY`dHn#KIVTxnxSK5%$N5k|#nwyyuT9=t~ng7P~ zu@Rk<=f7bRU6=T8JPp^qqw!xix8a2nKdIt{l5eo-ytl`ZstLme)%_lAOjBQInc(wB zx6>Uj;J=i>F`RZ{&Gs8o<&lCP&-&Nj%lFbc=c>$(w^DAQVj(S<Fg;>wveRRB_PBn=4a;Fwf+`PJHLEFbYI=(DKYdIN@0Rp}k z@j7Q?--1!w3SQh>=zFmv4OiBAI{-8Jo?W&jA==v$j&8QEvk}pe+t;)&jkO$A0Y;lF zeyacqc#k^54H^rgexA!t_`L)44>G@}(0!UZ%WxveEM zM73<|RnY!aVsVpFqNdx&HmAVMc@*8N9Nl#`I;@BA76Xm{ues~Liu7~w7B|Jw`8-}) zK@>;MRcKou9ZC(Dc4XYvnLE4KJ?KU|<$m<7vYoW(PCWET@#YSTSt&m7^{(4fqIdN2 zuYVfLc{`VoW&Q}t5SuCY{_A^fz)){zl26zs=xWI0N~M{JCM5fz#fK$b zg|W4#vluno18tn%C~DuD2N5I2J?NR}FY@LV)zrJJVz+W=LniT-3U<1o9B4fiR|G@N z1TVpV>8{_0O;19t`N)P{{G~@4X$csqO$I=19;x6t#lCpswqD`HFL?{KoZ^vs6O!0^ zMP~fM?@^PtR9aVM?OoYP?aZXIeG_>g8$2o`S~eonyB2OMnjP67ecg?Cm)w>oo~7-e znazKF&kenJa!1AN==g-DaBqPk7QEf}lD9C|T*+q1C)rSBZ+aq5pHpPR1w|SoNBjSf zK4Qw`$^1sV7zm`(Mukm=Me~V?rqGO`;3*0$k)@82ns_tjl~bDP|D@q?MpE0kYbXep8#q_3Y05|Y)ATf2rnAQe1_SBf+>jY;!m4U zX!zvhDN>7(<)0`DdDFGH+iPqzZbHm7RPzr*<%sNrMa-C5X8Z@Rr;t*z?)kf-JKo0D z*#A7kxoD;->5%|aHk@U&NVcv2LCVh4DMJ?ZK;hr;L$0arIuKeqj4B$y zQ@R(0gp!V7Simx1@^&+?V6j{fJ8MM2M(j~wn+Z3Oo*e-bdE!ElSw(8i>Li*VKIZCf z@{+&!Ox&4fzqt{+-X zYaJ|{=+!AtemwIvR(fB>pRfjH7isoCN{ROI>oPmJh2JcwX%bycG`;oLhqBZ;kytDIR{N^||D-b2`RqQf8i!wW43va{z z2emgUY9qD}LHCJ&v6b`K6N`2XA{a$-sm)>B%+1QB>qd77MrIbDoK zyRuU~{T+7U1K6;(b|H`CHv{aw9si|NfEZY*J$0lX9Lnz35`3n`^5g*kI2jpQh<;9zSA##t3l*$d* zCFD}ENqL^Z5lO+F-F5G-a(JE&_EHHJFH2y*dGFKs&yyHiSlHEy@7~e%lA*i8+=2Z$ z&cQ|$=E6Yh=`e_>tk< zJ=^gFKInxx{yOdE6;jF;<)J^fk=M_Iw9$gcQhv7+-^+TMMi)7YZIP9q+x~Pe)#=7L zLtuUHi%da7^HIN`r&$@1QT(AUtu`mog0mQ}QXMv{&q>rrcVOVY7^C(gY$0|&*YOuJ z3cj~$x`}maYOH5;8|!5V{=;}_B3f(}Jclnk{+rRBlN#;GI$DbBqir^eZ&6$rqLNum z9m>WghBA!LAI4wc@j?$@ucBheRFENz#&_=!Hf}QyVHo-y^uhnPhp>;|;kJp|#9(mf zJAd>!fW5Eazb>0d3gnSuA3c8JK`XFj2z_kbI+4bUFOXIqscB>@pf_!Qhv}vumOes8 zsef)9bw4_-wQ<@Z;fIK=yUtHNb~NJd&cEAs|F1NKw=ut%)_!DDNGYo!^eK6YLBQjt z`D&TgrSd>xDmJ!h?Lpg?+i9l?OOJ8*I|#J(R5

`bu!z`}T9YNK-<>_5zz3?v$(1 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 literal 63384 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 Tg>Qb|giw$5;5M*v(e?iT{WPSp literal 54048 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 YI7h%^u error exit. Registers: %r8 = x, %r9 = res, %r10 = bit. +bi_isqrt: + GETARG %rax + sarq $3, %rax # untag + testq %rax, %rax + js .bisqrt_neg + cmpq $2, %rax + jl .bisqrt_small # v < 2 -> result is v itself + movq %rax, %r8 # x + xorq %r9, %r9 # res + movq $1, %r10 + shlq $62, %r10 # bit = 1<<62 +.bisqrt_align: + cmpq %r8, %r10 + jbe .bisqrt_loop + shrq $2, %r10 + jmp .bisqrt_align +.bisqrt_loop: + testq %r10, %r10 + jz .bisqrt_ret + movq %r9, %rcx + addq %r10, %rcx # rcx = res + bit + cmpq %rcx, %r8 + jb .bisqrt_no + subq %rcx, %r8 # x -= res + bit + shrq $1, %r9 + addq %r10, %r9 # res = (res>>1) + bit + jmp .bisqrt_next +.bisqrt_no: + shrq $1, %r9 # res >>= 1 +.bisqrt_next: + shrq $2, %r10 # bit >>= 2 + jmp .bisqrt_loop +.bisqrt_ret: + movq %r9, %rdi + call make_int + RET_VAL +.bisqrt_small: + movq %rax, %rdi + call make_int + RET_VAL +.bisqrt_neg: + movq $SYS_WRITE, %rax + movq $2, %rdi + leaq err_isqrt_neg(%rip), %rsi + movq $err_isqrt_neg_len, %rdx + syscall + movq $SYS_EXIT, %rax + movq $1, %rdi + syscall + bi_vector: # (vector e1 e2 ...) — build from remaining args in %r12 # Count args diff --git a/asm/test.sh b/asm/test.sh index 73c55f4..d11bfe6 100644 --- a/asm/test.sh +++ b/asm/test.sh @@ -52,6 +52,11 @@ check "max" "(max 3 1 4)" "4" check "expt" "(* 2 2 2 2 2 2 2 2 2 2)" "1024" check "div" "(/ 10 2)" "5" check "expt-bi" "(expt 2 10)" "1024" +check "isqrt-0" "(isqrt 0)" "0" +check "isqrt-1" "(isqrt 1)" "1" +check "isqrt-perfect" "(isqrt 144)" "12" +check "isqrt-floor" "(isqrt 10)" "3" +check "isqrt-big" "(isqrt 1000000000000)" "1000000" check "odd?" "(odd? 3)" "#t" check "odd?-even" "(odd? 4)" "#f" check "even?" "(even? 4)" "#t" diff --git a/c/builtins.c b/c/builtins.c index 16b64a6..49f5872 100644 --- a/c/builtins.c +++ b/c/builtins.c @@ -70,6 +70,24 @@ static Value bi_div(Value *a, int n, Env *e) { } MATH_1(sqrt, sqrt) + +static Value bi_isqrt(Value *a, int n, Env *e) { + (void)e; CHECK_ARITY("isqrt", 1); + int64_t v = as_number_int(AS_NUM(a[0])); + if (v < 0) lisp_error("isqrt: negative argument: %lld", (long long)v); + if (v < 2) return VAL_INT(v); + uint64_t x = (uint64_t)v; + uint64_t res = 0; + uint64_t bit = (uint64_t)1 << 62; + while (bit > x) bit >>= 2; + while (bit != 0) { + if (x >= res + bit) { x -= res + bit; res = (res >> 1) + bit; } + else { res >>= 1; } + bit >>= 2; + } + return VAL_INT((int64_t)res); +} + MATH_1(sin, sin) MATH_1(cos, cos) MATH_1(tan, tan) @@ -1752,7 +1770,7 @@ Env *make_global_env(void) { DEF("expt", bi_expt); DEF("abs", bi_abs); DEF("floor", bi_floor); DEF("ceiling", bi_ceiling); DEF("round", bi_round); DEF("truncate", bi_truncate); - DEF("sqrt", bi_sqrt); DEF("log", bi_log); DEF("exp", bi_exp); + DEF("sqrt", bi_sqrt); DEF("isqrt", bi_isqrt); DEF("log", bi_log); DEF("exp", bi_exp); DEF("sin", bi_sin); DEF("cos", bi_cos); DEF("tan", bi_tan); DEF("asin", bi_asin); DEF("acos", bi_acos); DEF("atan", bi_atan); DEF("min", bi_min); DEF("max", bi_max); diff --git a/lumbda.py b/lumbda.py index 6cfdce1..14600d6 100644 --- a/lumbda.py +++ b/lumbda.py @@ -2871,6 +2871,7 @@ def make_global_env(): d(S('floor/'), lambda a, _: (math.floor(_num(a[0]) / _num(a[1])), _num(a[0]) - _num(a[1]) * math.floor(_num(a[0]) / _num(a[1])))) d(S('sqrt'), lambda a, _: math.sqrt(_num(a[0]))) + d(S('isqrt'), lambda a, _: math.isqrt(int(_num(a[0])))) d(S('log'), lambda a, _: math.log(_num(a[0])) if len(a) == 1 else math.log(_num(a[0]), _num(a[1]))) d(S('exp'), lambda a, _: math.exp(_num(a[0]))) d(S('sin'), lambda a, _: math.sin(_num(a[0]))) diff --git a/tests/functional.lsp b/tests/functional.lsp index 34ac7da..8d16486 100644 --- a/tests/functional.lsp +++ b/tests/functional.lsp @@ -50,6 +50,13 @@ (assert-equal "max" (max 3 1 4 1 5) 5) (assert-equal "modulo" (modulo 10 3) 1) (assert-equal "expt" (expt 2 10) 1024) +(assert-equal "isqrt-0" (isqrt 0) 0) +(assert-equal "isqrt-1" (isqrt 1) 1) +(assert-equal "isqrt-perfect" (isqrt 144) 12) +(assert-equal "isqrt-floor" (isqrt 10) 3) +(assert-equal "isqrt-just-below" (isqrt 99) 9) +(assert-equal "isqrt-just-above" (isqrt 101) 10) +(assert-equal "isqrt-large" (isqrt 1000000000000) 1000000) ;;; ═══════════════════════════════════════════════════════════════ ;;; Comparison