From 8ba852c85dc8a649b5b830992a3b996204307558 Mon Sep 17 00:00:00 2001 From: chihaoy Date: Sun, 6 Apr 2025 08:32:39 +0000 Subject: [PATCH 1/5] supports CSR --- examples/bsp2mtx | Bin 0 -> 64704 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 examples/bsp2mtx diff --git a/examples/bsp2mtx b/examples/bsp2mtx new file mode 100755 index 0000000000000000000000000000000000000000..63e3885d6698d26e35735da0d4d0bae4a731d370 GIT binary patch literal 64704 zcmeFa3wRVo);~OfL?Q+{Xwa;pX5B%9a!HUtP>>7+?XVLKf*KV~LM{*qNk{@jMGedZ z(#B|XS;afv*6Xh5dO>6{T!XHcfVa5rD!Q(A8x;iQCNkgecdC1)6O!G1|L^mEzVCTH zM~kj=>eQ)Ir%qL!s;=tXG}(WCuc#=G^Xug~&qHYCm<&Owe?6Xz9|g2=>7IU`49_W^ zlRZZP6OE7|DSWD!^K9>>5}aqOP1hSw=1XKmo*A8<(**K(oTnoppUfBeW!O>mZ1|M| zou?;W!OR!KXcGUyFDXMF&hy(l6zDwN`J}uSmF{WDP!aoCbF2cLr#l~YQ~R+>ukFZ? zi1S=wS0Yh_LXs^f)x~@bcD@EXpYu#10e;TY(I?q4RNDHi?41FKuzIS0Bkj~R-zq!b zDx2PUCV>ZkN%C(*_tXAWQ}lmQUXGnF=PkuB=dBEhIL{aCa-65FCeKvlqh9{opRG>M z#ddi;wL^nlfb)#93m8#eT05e;rlP8N#OQe==gujgm!4X9ZFS)_bLT7=GqR+zuzEp3 zdD`fCv**qlHmj_3X5p}r!$+kI8$EgifDvUy!^%p_=hqIaO&>jM^r+$06~jj=#w;!c zfz5uwg_n4G)p=TobIOhKLjVq@QhKQCj-wR2xlPp5S(AC6Ty@6jJM%4?dPxY z9E=c$Fb-h?0)M9>oP;ox0Dew;_fw$!n`p-;;&~Rrc?kUx&PF&NVKM@LnF!SL|LM=s zch~${R|Mc=T(|+QIEMzOpAqe}k==!*-4cL54&g)+;O9j+U1A>3Z}4P$^LH|WW7EeA z#^V`oKa=o0&5rYN3IgqC5W=|#&Tk+hV-ZF>2s|kZb;kNq-$4YFl*E6DANR+x{g&;z za}nY0epdtOuCqfk7Yyy8(Lu@cvmWqkAV_!gr@^?p!zY1TclfV*;B#FM^sF~|b^TTK zz$XC0?&=!?zB_p`dXWF|9{4}g1OE3t;7{p6pJxEyot$%ekmsBp__Xv;?jL)gf1(Hd zZ0~^&`)PN2E9-%t2HPF|2R-m%pXrW%eGl^gwFmwid#Kk%J@DDxL%EZB;Lm>Aot%?; z;2#HkckO#;4{{Fdq1>x`um{d8-O2M-5Aw|DL7rtj&n(UUf}DRZU)=M^7u9U0gUPZ$WWYb!kO8 zVBf6bn!K88D~l1Ys4OPxeEXSMSXNO@{ItTV;)0suyz0`qm1RU+K#EjErsrMgo1S&) zu@Hq(mt(OkLuD{)Q#|~s46P1a`SU4 zF-?jVE#(#0))bf5xb#Ym7 zVNKp_v{zMiS;0(C;go3?U6_|sP=$t4@e7J;d{tEi*Jjle&yAp_)l`+1&$_grY`#O6 z305@@fJ_(7yaue9Yf?dV@wDRd>e8Ch1rC8;P#qzNu)T2p+?mByifsuhU+t-!&wq-m zsw%2H)wAao)W8H`eXzO0*>mzr3QEg>sDv;zCB%42s)~y}#kHlRLn{@-Ooa$}i)uV2 zqJ)x)syUwOnyNCGXI|di;<<&D*GgtsL0MTvA&@05mUA5>7b3Rl&n+lr-a;xjuco4` zVqtMrp2}KUT~Ro8Y+gxqVL^EbWkx+bC90Y7^6b=Vm8#07EQNC`J@cw7s%n^{u%?W- zaw1Xa?4pu1E^^LJO(9r#O?5>%;Z%Vb8|}HkpEYq(-pJvpqr%a%UC}Vog&Q7;j|r!b z9G>PGQB_eEH{iV`fgiYFGA7ef72b4FCmuVJI`$<^37uC-k4*imE7o>f>n zr?#y8?DWEtk+lovrjK5@U_n~JtWk5S#|~pnh80#;4oiig!(}z+&Of(y0Jx|pD!fcMUO0-J*RALT0!Y` zwP&Zyo4Ih**n-0Hs;cYeTr;+8=G@Y2hRrH09F{t2*vOQTqf%2-M`Hzwg=pzaObqbu z`Cl)rIHItkP;vg-8@OIB3|5;qg^EQe8H@ZENsU2%g+EGS4#d)&& znlVQ>YntV^--+c%tmhsZ_kzHEJdfG%aiyhL1|H?%J_Yk62pr>CW5YGSD#el~+Ox@q zPmuK9o;DkveGW(dSR2B(dQXm{al)eGGY7v5RpGQo7=V}w%uv&)5Nn>oMzE3(q|b=hy7QbN|Bmt#IMFKji#Yy70etka#}f!k^~CuX5pkxaiwmcxV5M$va$l?qfMW(}f@AAo1Mg!aMsuOy2Lpk8sg@ z?0!o7PjTU6UHDWNKHh~N>B1+v@LZEPza$sl**9cbvJ3C*8xo)5!n^mM(p`A&Q98d2 z7oK}o&QEvYxj*Ura$I=#o>#65&%H+Hm+!(m`;$zY?ZP|zlEhcK@EJtdzgic5qJzY< z&V`@k!Z*0^-23?D_lpL8(ZDYn_(cQ1XyE@14eZfQIj9G|iPalpjCVX9y}qTUSEx-7 zY>M3|;)K%fdCTJo4ZaWmYNuu(MtC;UtQ{fz2H!!LODL;N;F}3^31GDdyo4}ae`}S% z*Ab@6Z>I9xim~MC#*I0$)s+OEoJ;;3>AG7h1>Q}VF1yt%@YjUts#|pee@>W7MXOTazY(U( zZsiNSoiJT>D@Wir2-8KkG6dd0n69~%BJdi*bjhtGfuAQ#SKNvh_$k74!7Y!#4-=;A zZSDG*^}mO365$;J-$9rzxYZ``&4lTCTP*@FAxxLsS|#vxgz0KqD+R71Oc&c~7Wf*% zT+&)~0?#CT2H{G9uOLj<+sYUCV#0K}tsH@;5T>hbWe7ZxFkNgbMc{J?4<(!=@JPbL z2*(S2CSkhRmPg>z2-CH;b{&%TCrp>x+9B|L`9^OrP-29s||v)(j5_#l?e%ORTe06b_Q zt|KBq#A8GR-VRwY@NrYO8`HfBNWTKNomvN(Jig0(m-;U8O}}KCzW5s*-M&a~j2_J9(T$)t9f;JHK&Y2?YaWIO zy|Fx2Z@SN0$#~QFUp?UQ_!}3*n1Qjh*Hd=sPN_-`K4$-b5myNNoW@Q`$f8_jq38cw~A|jNTZO;{C=x zq}rZqn51=a`@u^4f+;CC25e1StHT9EI-wPk%3Tv$`$Z;JWr zeUeyIldm`RTmG=evxdDB(yzXkkMY+d-Ao|Artwz+Wo|tf3av(|sM2z2f+GE_1Zfkk zJ|CQ+B(~I*SNUf6uJT>&%iD-jE(Dj!!H`ye9mcjs)HATZuNHhCfVS**{2SQcM_alD zk<`}>zc(JDWFv>aaS^J}H1IK$yAC|j+I}Nso(>80M!z>PwI$2=DBCbWvIOKpLV_3& z1b#kFt7idv{l{8x0#$}`lgTpO-&o^K(T&Y|RC~7ZbLz)bRbsaBL-w+LB_+ePQ(+tU zX{UMui@fo@ku5IiwW(v+fq!cDKOo9rpkc7D5CJJZ~)4Jh-@ z)=tgzcy?>?ncmrAL*Rr$9&|LPD^==IOk^?sri>_QM)Sk{P-kFsRF;G-u~~slh_}Y- zfsMWNv1Q&wt^Nm$)xyC%QCY(K_rMa?F(Yi(gmP);Wao$7?hs|)=Z!^^F;{YExtDJ! z8Bg(r-sdyj7kUrW^}T9yRTE{z}x? zr^WXv(MGJ-mb{Nz?bc?j->qvyTXb#B{t4mSL6ILlX^$2kovV$AnROT1cgai$wMUx~ zb2*?rN9MZF&Xo*JZwJ>i6IMXi)4j8;<*t+v+F)ER5*8uhdRM|;?X~DcB<@054bt-5 zX?wIQMv)s6&bJd%SgCm!2l0$!VPOm3MkPRoAl$cOurg z3T$NSRS?teQ*;Uw)<+G{EG(LZk(biodCwFOXQ+r7UhwVVO0ZoJbC%Y}|Al<2r$ajAj>sW`NmjYcP;|a&AlQ4|rquX^J*)qL4 z#z*&fR@s>b<5{LR!!?-Ezo!Vg3?wpEgY(-k6TOMU5~w*QrM8&o{{S!G8VF$z3P|bL zY!3&>-(k3F!n7w9tm;6-3PDJ#6IAr7y#ZSb(5IXpboK9G#>KXYGVyXGGP~1bP@pxC zoe&NFK1Nelcd74Yz#)s{Z5H9aa^Mbh(|g%XcOvHQrX>Fgb^|k~?GbEuMg!GUEdTd5 zDxE^)P>9F?aXn>|u}gB_15(zFU2q8s(*iJ3yGRh|R+huwR*!CtaWLe*8?6}TUY!=^ ztc(9Hig6UFTR+>w$X}Sr8HlU?+I0wFvD@uV8XkfFbvsAkLP$@&d@gifNmqN!?_!U7XBx4`+%EQrc7`XS=2yR)o)uNS7D~%OXHYHy(fNM39yu`G zwB@$TAqMRjajtE|i@%2vKgJnS&1_)P(GoW3+>T(_p!2QC)Pg;vzlAQSEh)y-Nxi%V zsIy*jtqW{wHt~Z({R*2H)VCi&oo`ua-LMw(t-rY&JLYazV^`%I*>3sPQx3gtF8S69 z2jkd5zEuwtjps$EFl-0atHQ>UZxuS3oay7s+i06o6~}nLcxCAy2_@AjLnXcp^HTS+7SZXIY`T{7(No`uCmuA*P2 zN9_;oIKtnp)mt;YmB>zA`@NO;H`7~-UilaF0X4b6(WMNo-ic)w5aRiAHDUhaTlCSW zA6>pCGg#-NgV{Y*<*iP*O}?8CmEplgA42A9fPDEmFO+dC6bXW6M9 zYoX02>?;ViAdGc<1wl`-(c*lC+a%(J)mk%L6x+iTurbG-uC>OxNJ0^kuwPwko#3L_ z8>XNnVF$a`+U=ORt#lFaNeAgDU9i8iv0?8{R7L;Qo{8;-pX20a<9q;LA>24s!;fqj zVV#aFq<(_b;qJ)w16C#Ql!fRxhp*EkKe(AavINz%d!$YHwbLne$Ax?Wtp~^NTWV0P z{c0m!mo8*jJx~LQc8H%@YrX5Rf^-S+7vpEN$BKJcE52i;^}ItszcS2)dJ8+4wN?}R zzU^R!X~Ldntu@!hWG@(DddEr!|14S&jdE(dENzju(#j;E(}`uEhDf$kUu&I?RBCZ1 ze3Gr3~DkTgkenzVI>GrTs*oIJkEaqXoRWXyHi$`8xY3^ z$!sl{3xu`jyHJRp0jW7ofO-=s0_HJ+{ZZP|63_rO8!pQlY*isS?H05ihOCP~Wtx^M z2hGHsH?W+unZ?);*bxPdwCLNu){ox6rrEGt%WZ)^FmzdGu_FJLX0|nGS14qj&>`iU z80gkysPf}f`8Tut*(e|7zRu)hRr0q`3B;Su8s<-5L7Ne- zvQruOCVr20W6Y|TV28)Yyu!zjXm8+P+`=hFoAEy8sLhyub>k37XorOFo2$fdC?RKcpEiJt%nEdoEMu~O@zRO08>n_@=br?j z)BT32b^;@kKaN4pyx0`^I_>Yuv~=UZg)d^C*Wal26#WJ^8Ih1>9K?Li9i=^5g}s&9 zxK_4Ewc`g)M;1TQ?cLC5f8z_@cI46x?AT?3j$2aPn%Yk!2)Pxj4VmuE;3g)wV6`DL zyeTEx2Q#qUgV|x;%CIwbL)B5fSHXzPWlO9HL!lo#=Q$LlL8N;@ zZ4MhVyh(nzTe0S7aL8;Vh+W4VKhz&PdF-dmm8%6090LKG)_PmOG}HK--`JapoH@*y zZ`Y|Ewrsy+(FKueS!*btjFcFX)fiNWKLG?`q+O|T?qwX|FtFFKX$to{4K;IdGvdreh$=Cf1%s?IAY9U zVxRNp2_1jxl;;HGf&V%*0sqWMhyv5yhS}{8J`*-WDRKzd>KV~YP5`oQ7{k~39_G7(o8U;p(ctr z>{YkV|IQ^P?9r{3`VmmSw7U#jm6^tUVkNCX?|zDgpEI)c0)_Iw=&-dQg?$b~-o$uG z!PM$O0{arP#4{yHQdSZLjwYV`F$Kd4xUB+2Zb@hy?WIibSxm~1q!uP2(=I&uV+!^h zkclNU1ii_~gK~y4Azu=9AOXx$kU(UmAekR*h5~sUqDWX$hbPB75`v}(J96YpArL9^ zreqmQS`_WW&FcBoO7&c_3Qy+c@Eac0wfY?}7{22H)^D^$Uh_BuJRFG0sjp8?-H!2a zV;6fmvs3eAK!%+ywjUI+3oSSqEk)bd(aAPQxP=Z=$2P~l96KH9;_HewhwYDcx7aou zE%+}Ei%0N}*j|{wZhWE-*#hgU8K@fxj^S#-N5O#hDM(}bdb}&K?awlh6!xzo`Qwd* zNcqK}0c=cP9BpURf>V#c&HuYKE?kZy$FLG3!56N`AQl#JKipASpOd)6nC|NpksuMv*sB z2HjMb!kqpgP1AZlx*j@TU`ssK4Cn8{fTsoL_5udB{9cyv9?d;#+c()qAKIOzow-T+ z%4YW%7(9eGqn)P)ZOK;$LZOb2I+49kvc{qBWi`%tFBbEMwqyf|KJG-c3Pirfq04=Z zGnPjS(fvmfHIhhsdFXWfGh;f&Xz*HaWPwFO_R`PLXN6eIB8ZPChXLt`BbMopMy!~D!+rx+b&i9 z3yBJcF3&1-s{B+ZqAX6?D@dfhHgr1vajG03*+*E=#@rrI3))z`a@(o}2BG=5ptZQj z)#DX%mW}*K)O7(jkt06A{Posolt5mSZC-I`c`{pzF*(f4|DIjM6`i;p*w>lcYnBQA z_BbtO2J@n2)&Cuo)*2ShMq5wl89@F<7^?L!V%hcIY7M-~F2gJ=ZZniVAUa^B?X?p} z*@-mA&8Xpk=;N$JBu;J|T4(LV#@l3=Muzn-iM<3D>0`uLvpGwYmf|oEqGn6lVfWZ? z*}B^gRb|oVu~vaJ)A%;~hr0eN++WUz*igo-%IE?4TB)tWg?I;&KA zn)Mq{v0lGhY}d14QwQYY&(y!4V9(ip@*E&BakP#<8x_q~deJl2{$tp7(imf|!`-J3ZcS)bDjJCcBt?`ArF@`9=x zf(VBfx-TNaVF3uRJkjc~_&T2zZ%R8Cf@2x*Cp4USLAxaHx(UhgDtVAfzKzMrNH+ic z5&MKEFy43^UlP$9HNA1PwyaMK{IHmXKw%NT1NrsF@s|^F4t;Pp?;RLO>_U!GH-el- zvb8a04yf>=Nn7?ca5%^CAu<~qvI-NL{ZSi2pGW4Ct+bN4WW9a|_RHeqc(?&w`$XiU zp}gK0bE?DZ6UFPbuDmiJ%8{^&)y7@3z(0$nr-NkOYY(=-b8@e+| zr@dy&$$NNU_;Y7M)~6Tg3T^rNDYCvWgigxlE^bWhjT}O8o##A)^8EUImmN#=YmR_X%Dx-9`@JJ9!^0Kwmn?w6fs3E`UQ+iK4GRZC!NRJY!JGx9BFzQ#ejK|25a)fmn~*<;(QVpChP$8OYq-_mWqi2u|$ z(1-k)jf0-=_??m?m9X~mpsJ1~CCzN7{6*|%1Ahg)&MiaLEwDrzv9&78nG-(3z>VR{ zkK)DOYaD1jA{}7RNNbEBpWTcau@|%WV3Othh-2Cy~zPdmhau%oM#uIdqgGvoYaic~=tQ^V!4X4?bcKg-G9r z;W3iF-kpvS1N=G3g!wY> z04{gi!AVpQRC~hxMRmKff7j zn_7WkdP!{*F*9N&0ix<~YJ*vLUK;ebyXb!{^szSmab4(PXrM0uy}vN}W-CMGp9(m$ z5pcdr_YuZBwkg&{VzqT1{E%;m;9rXFYmIT?l^*&bje3|2HzTZv@k$RzgW7H1pW)c3 zl)np$2Jqbmn0b#@d2Rh{?4qBIAXek?L(GpCty8R9i*dC)`UA1EcM{J#dB=*t5ns7l^wJoq9`r!9j0}qtT)*vN~f>bq~FhXlZK)l(y6NWJ3!`C`!o^zO>k3U z->6!+LL^~}s&}CSuO@;`ew8A)PzWfhUm?Z=A#L=gDr6X8(K-7oDm@4Ylo|(R_j{&{ z%F3tFiQ%^^k^?vZEro1Vutiw(^fD2ulJ5cO7>pKZfu$)uELVA6lsptHpb(D&A%Z=k z;N^rxuseWI>b?srL5O&*L#mTh6;})#)qg+SpGdJ6_Hv4CQYLwxB2%WQEuk0K#TPZ0~S@TRxGjziz**ih;+qM+IZ_V z$4*uqj8!86JTVoCwI zDtDBke;M@BLL~}*+?9U}awx?N>zwx~>}H_m*W0vI%rT&F6w|1ZXCPS=bG?H7gr(uG zQHXP0`TshbjX&LP{1$7LB1v?3T&CdIFpu*UV&4j0f5RPKrJf+Ah;)o{=M z8cTS{|Ef*42krvM9OXu#-*r)LmMZLKWDsRNsTf>GSj;(D5tN1z%M?W}5RRRhv)CLQ zeQ9fd1LSIsuM~YU=qY)AXOVbTvWrNks|@?@QW-{c&TuTuyi11nm55uA!I9`vk!TcX zDUse;qQ?~douHRGzmJU*C~YZWsq-dzPxWF| z-*>S?2I)4Dp4Ho^;1?u62dw86;*l`JhZN!tAe0Qdh)^wY1CZ3pi*N|=w1?h~@X%YV z@?L6_-Kxl(PIml}oou)pYf*YgJi0NKJaIBqZK8Z-w z!xmBV6HrdH7OcQ*i5SjtOobzY^E$hDcr-&U9D+YCM6nj0lp1Vspb9kM}}ejKuZ ze4y|dTSzbk1XNHa1lbBS3&uN6>T@cS_NH!UQWJBaZXx4)qlR}ALA5M4t8mlg)Gzd= zarI!1n&KqA`3NZeg^Rois4yxp{{(9>YS28%i2g$suA60#J%l;{V;)3Z>s#i3i7R4> zzNSnsH=g!_MS__D7Fot7CBV?~&hBp7$ zud}oZaOi4Oyx*{N9P~)hhiuCl`y)>5tfy@0Ix1X$J$ax_ev5|S!6$S3dN~7_fW%u* zmjY0?U4i5%HrIS4`f+4xE}p3&^GiI!>)uzIDNW1#h2CG@`(!**Nyq(<}9jCC!uZqM?2S#9`}-c6lN(n23=Edg-MF`Jqe1 zU=g>dSgcn69Xuq`!!WR`{AF*;3h%d2%hEOeiF${X%hylglqW?aes6N>b}&g`p-^(a zkiPGG=-Jp}J%+-a{R0|qi)6qFA@rxlUiB?E9h4K;W=0EyY#KP0OP;2f)9|o9ldPE- zQE?0^oqE@s&_JoLXB+!*h5%jmm<`nQ;neM~q0$~R4w`18B~pD!XkXmZ$!;1K4Je*B zN|()L;Y|aB@X0&vZ;G0(WIKwQc>Y1DX}XF*O|6iKYQpHE)U*Kzd!LN>qaFNHz?&N= zNn^~ba!@YCseiU{fEP?5UL3}Noj3~NHx8PA04=Yj-uN2od?%D|2378QmAhlBS*;L{ z+K89UnF{fUjrfB(RUu~Dh~JwT3Q=k!g60T?;Msn?F-5*-V4kFK(Kc=doF}u7!X?`{ zowz-0oW_`OHf|JftaA+O9JSZt5|S_*f$-xt%vW46sb1EdHiF}cW!S(`PHL@U9Kz^($+TC~Q39@JuYmG#rgGqnCV&`faQZCm%zVUgojVso z$x*oD2WBHV%lNj_CGiGiO>N;>zZCQSb+nFK>;r|kHoV-M$o4nXh~1P{mPcaqvA>WG z_hgY*AF{C{$!TA+15Jqc=a=Ay`)1r(^E5^``x++0CU=@`U_PZO;Vd18{62h*pM^u` z_esQjRBZnlIoO90(6v94;9W;jGME4cb?Jk3W1|*43!U}1O_{@iz&+{TqaF0sg%$Wv zYH4|aJ~k*~`;8a8+^f;ggy9)yBc1H-Z(_0}Ph`muKG z4<)*Gn3Cvf;O_2RpyzC8|OZ-|fmzoX= z2UFvlwqQB9b1c~ z6T7L~<>l?ZQQqC!RL zaO3P6JQ)pD|MC3Av^{p+Vw5H2n)j};3xuOdTSSqrV&>lsbicfrY-QZ=4&0C8_^!Ey z-cTY=(>FvP-(hf{5?)^pOT%lvrpy>m*4Wmnv$Mzk>^BblwrSjO93#roCcWh!Vwr1D zAgNEIR--ms*I_U(X?FT|c2tO2_hTNztYbDo#UMtHHFrzC4INKOJ2(}2YKBvh?XTDs zp;Ein1I7i(mC7zhjN0YqpDW((rndUNQp z-f?|?z`6wTs>2$uLOy-98Y2p2aQT$N*Y~x#&L-Cw0CG6ox<#s!;c?0@*Xp^g%kr^k z$1xc@T}&nLSyV$@yrp)Z=^GhwZSpl2>FrxVPjkhbK*O|q`=^(qx1aKI*k)@mI7)ZN zUAkH^Pwn#cs@s=nIQXbN`+@X1^ncxG<4ag{_@laZ_#41bI(#ZBj?Zq?Uk5*ea}iZu zi6T{}|HDh&l*@LBlp;moHlf~{5sM079Xi0%(d@7~JIw0JBUm|o>p%0e#zQ*ub;ul^ zkLiD88HeF}sISgA{zp5E75>M`e}`Fe5~)Oep1KTi_#Z1^aPU78wBt{H3(539B8$aG zy<3qL>qXu#$S?;%TpbPwr|m3$w`94vFPua$5VwNs*O!W6{^msz;;asG(*rq0tuM?u zkhTZ^BL}>X@INSE3ktLS5ZZetW`@Kp;~T73@xBZLvdk!4&a6YBjstQBr!V6>zwxh3 zp7)v(_Cm>c42O5e(_v@2YC78T@bmO^HoLZD{KnT|e<$hB zw!gz$Dk-TSMjk*8@elj~@3QuAwuvBr5mU~x1UO%jTHFeRHb|=OC^f}tDR{{I%?q&Ma8f?)!!nFJ+Ta$CT}am|EnT)Qv(7;8|D1@tZoqt&fy<#)hy znaz5*{G79tpEIRt(J(Yq*wNWW=|Db~N`<4t^U=+Ye}j6_zxg9n3L5TQ9jmx@JTK+Y z?J{#I7~QUqV8dazD@EL{Q#kX)q6vDG4jYF3qHd7JI01H30EYz9@bst+^?!{>n~@&yWc;5edsLrnq7g zs;SMtJ*$co?l3{Pw>eUrSPI%#5&|anjg&alnHJoL7FHT~oo#I-e8TB9SvR6Tu?~n& zSO>9CZcp_+9g>(=*@d&dIxcr9>-_JlyHeTNQ*eel+Zi`8D*2VH+9^%rex@YmXRxO% zqb0jOR8x_KokuPB0CHn{Lp&CYkuejfwQXNx;Z^=FPpy<_W!vE|xXi;H6?;IotvGXx z!?5pd&<5x@(cU({!?(9Js^%EKv0o4DI1Dcrtkqi5kYhaaVtbVy4 z(3_CX8uR827?TDJ`v)IGh8@O3H%|T(55F;fH6EG9;8zs1T|w{SVJ;Ol&cF^7`pW^a zAvUD(k#78rvog9z;7@i>0hRfIkodV{C2adZawm6A(e1kv6(~!`cr?UNH_t#vW)tJEi zQ8j1buux>zr28oSQ)W44v4~^q z_v##w9r+|P_(wA1u#P@}FY}>CNr&EM_I;Yi>+yyH zd9`38a!MD%@N+jk40ahhh{+fz6H1!x4uS!8Hz-vHPjeYUmi!F6&To6^s!F2xm{dSRx8PT;~Ca~ z-KGUGii^4|Lf=7Ztoe+Mi?!BZ8jj4RI>-C3U^(_aGfqr@;5Ym*gvL1B2#VWCDeJGm zIz`Q&A{i?AE+cT_6E<2EDv{j>^=yp0Gt=xP*4A z90e=BsMZNqUPKO|+pS&E(wfizY&19c4ekOpoKcAvCh z9bl%fL&HQYJT0_&S;JSw&0hF>Kr zFM}Q{4;8XB@%Nh2E<^F=O;V!0g0@SBV{Uu3bSdqcQ2|^^aAuSNf2eX}`%h)v^ujpY z#{WL_8O!H818SGP9d1BF2uf1hvn1;-fFwUY%DP7+;TZ4ux#Hj2>loekbHjrC2r__ zHY!GqC%;b;BeCOoL2U6vbv!}7@Vz|N)?JjH=7}nE|4SPn4pyu*5F|;K6(-sZ6V%t{ z8djB7-W&ZrVw&OBNwV7bLeFC*lOb;G($p_?G)Z^CegBCKqf)I!)Eg#*6yD8^-Y#PedtgI`q1PDl>Mz_>tH(q6UBcVe@fBV z5k=jINn2X|U1`(})?6THQnl9C-$ndYzAx}MrM-kg`N9C-S;F^s@UeR1C+w%=+(H9d z1Mdy`J&L1rSm@xajdpy$#{qOYqEHJe9#M$%njf>8Mk{tf&6N8Y-3-Vqmgr9ND%Pv1 zHp-mN4#wSiY^ZO@Qp=^;<|#<#%6zF!ej}J+^Vjzp)_)#z)qRBa+Ka1XbC)nni-zoW zF`p>R!3o6dG~XeJ(qAUKrtx13dJ9E+3@IGbhCy&YKdL`|I}&}bVGG-1HrR>WDOZVW zkZ8`c(FZ`I&`(MptinC!bUX3y;lw*6u|E^X*om)&6R(#0cz6Ya!@!-<8G7|+C? zAvxu&4<}|w;s7S@ki?oYCCpGsIF<>mDq)&R`0aVD8Fw1YKdFRsR6+;|=DiAahC+Q$ zR0B{rZnT<5r2_3ZQP&z-PhgJR4jO8A9>}QOYf%A?;MZaZ)dJO+z}Puj)P{Rg+N(DC zM3ASl@u>fLJMVZq?|8|((49AZ9n=p+?=*95;&_`lUWm_h6K6oKTvZUP*~eOJ4_gZh z^a7$=@dHL@>{yKQZprj=w84=elp+y$tf;^cwcZDpUxN#ZhsBv+-m7w7joi$WL{hN9 zaWA@QgtQ@Ry>)mZd{jDNH>CBS2{1x3&;@&1|7bTVc~&3g>h2Y+LT#N&rau%C;xOx8r;Z0&I&-3b$V!7-7C70y`A_ zqj&%^ZMs}0acn1DJ^>!nv8Px->}-Izp8+V{Cd7tjP+pTUR|WyP)&$`B1-oDwVkF9A-lz zw<65r?L_`X8u0w5lQ@fs2T%~%{zfH!;3Upw;@|DWqg3MCD$(2wG>5QK(8v(B$>JCK zalf9gBbwHV{o~t!=9}AbN>a{lnj=dIk)QW~mMFdgZhY_37}TA;*gz9l&ZsmV4{)Br*v&_BpU-546g_8h#b|f*-3+Gh@}aZBz0pcrS)JNWIqX z_82e7oqeAp8x5V@{<~h78mvdEyvj6S))NVfStS@HW|GgKfX`+jZ^VWrf)fQAnwiriS9JZSx34%#iA#;J70;r zgCp}W3v&dLd2Hb>oBTE~qZV3!$0t5?C%ee$W*-*Ply(vXwhQ=C7^e*o%ue%5f@p@f z$*5_3l%V10Y%^nh>>vO<+Rf=O+55`7>fO;<_&G$g%fC(#Q+(pZ&rm`V2_38>Q*Y8O$99g>on#7H6|Wbq_AvcGA3oT63!3g5-AM-HYNoUfYF_Kp%> zlT$;uMPNQkb~wumBx#BvJir|Qsmi4)bsIoq!)o+554K?ID`9o?VbVG9n0Jr{P_CIo zeb5EKXgD3mM2tB&Hc<@+1G77Z8+>#YyJVAM5wGzZuhxN^F)5x&iP`|UyO2yE89)Z; zQV_32e6}$u9nnSFfZuVnGbVA6ZeT3Hf0;#xU$D}S!|w?^VaLHnCU3eT)eQlTBcP5m z0(`}XSiEv4IG{3%Yi>Utod9z?b96hmt4|TSK3L3oK0e(sF=w97u=qJ}XP)1M?%&xD z$g%$JN^d(NUAJzt)7cs;Zijwh*mcd)X4jle;bev{M+zFK2;y>&T>c(VQ`*%+u+z*@ zshsYa%JUCsblAzq#b}IkA0gcH{ zZAYqWvbVNMU4kG6Z&*xx>UMMbZO9_mf8MdN+onMX?u@BXe;FR^ER5vZR}+#j zWATpH!=j0O=HJxQss0>-aHv%EaruYqHoSF}>c6hlH$qN`gzCSH7ng{k`aG9`7^+{a zVyHg9goNteS`(f<6ZqSOAV+c~07g}`voRQb9Tx%tlR(~7PlAszFl3Uk&^mz9P9sjTEt3uoX4LwLOhZ-iqst z@+Oq#Pmc^XE}y_p-JWe&?5`#y!=&4=QoK0yUse?(QXPoRrwv&EF*8)T$eM`KVK;$; z;bLD@ZG&QOl45=9Sc*yew+k0@;I?L>T`=`gWtZAlO5JHbkD61Ob5LL=&pTQ#^EGUw zoM+)zh@A%;VHv1i3QAyevN%^sIL(8t*>Fkw%vif5ULvHC>UK$O4RQmL=2>I)Ln7+M z!$;1Q({mlO3i8iAqQKXvm~QmBNk);dQa>~Alvb>rDR{FTH45wVN*1cdA`Al!5ZyWs z^$h!us8BMH5tqtZwb#|&%AK;-0w?Q1q;hCZX zqH?BqSA>i?bZK~~#Lz0e>9z=ZW$j97F-msHI^J%mnrj++CQOY^pMQc82Q>B>oit24pQ5HikL~f5cQOGx&XDagQBgy#}MIv&OiP&E#D=bgcgEz+vU_fI>bZpT3c)NO+Kf=zm# zBK=2%)RDn-*R7s%LboaA9F<`aGoWrV{6h};rjV@(-#T<(k2%%OlW2}nc`A{IGCz-9 z3ux_V-#T;&te3-dnl1Omitc988SnVy4!qebOlH=LHa@e-$$EY5plpw_MS^Z_{a@gUKkhHh_w1tyDCNL1UYYQ~R}wTv^!VLcZDbDe{Yt zBp-i3DrSzbi%&5JD%#Pcg;pV(XlgeI!a! z`Z$i6*b-CYB;{9wIhQC$^Yulg2C3135=XI|HQb4~Id)miRItD)=-)=}0?LsTR|WxsB|^2wqm? z?I35}M?%hUuYKC4N-=L&RBw z2^}F%0-?Ek3C8ti-(^|G_uR0PKLc|K{{YP5Z??iq?zAJf8VGn(^eXwi3hkxigIGlJ z@13N+-qYFQAe+TgcW}6_W%3Aj6yKdj1-H-tCaY=a(Qw)B@E_@;IW$sK9B8ggX0|b*TRT19)6EpY&&*&rA0brHFe`$t)a~dBtkiU}y zuLFm8!}kg41A5kRXYDoiP$k^HI_hgNv@FfiVlq7J$2}S!a;Z$ZB^(|maOgxB!-Z~pn??IYvh&wN82bh!@05U7Gk|5uAFK={81oLgy@Bvwy~ld z^NX9Hl24(Rh)SkXL9(mLE>g&}P73;dhf+`}Qm`_xwxgJ4-T2Ykg=yOH-~7fqXywWz zG+NVrUiyt}f_O6;<@uW)^)>**L-$R$cxOu#M=Y?cz~6L%ed3PtsZ7Qnq|sY9J^{ZA zx6`;DN;ZGEf#L+^&jImhTReMa1~1MH53Ef({6@L4gcXez z92w2J?$5^dU?X^lyAMU;Ufp zri*&^ihB5=gG}lJ{SEIpc<>rAXe4~)AEwJQDb&1V@fYsb6@8RDadU{*z9F ziAEXtYiEZ;_!Cb9<vvI!^ zt&&6&SV9$P(JQ|!Ys8Q zKkJ`ue4mYFKJ69Xq8Ov>bUhOMcaBvtgjyREwk)LhrnEAzJ*GH2!?KsR9x-*jayLg80Nr>&o@!~ zYqfeE^OdV9s$M};G-B(alM>`5dS~Ny>Rof9Gnut6?4jOCEK%komd`~1wGc-wEVNYu zKgJ_}`rJ%~z!CqAXUh)ZW$VB9-rlFBDevt}G+gTI-TP;Q=%4L_yy%_E1$vL#M7ubgXRK5=a@8n!gvS6vaDxdlFD9m0%QRnVZirPrLvD113MR1?n*kkcK;A;MAJ07NtS2zu@A=}e3XU@kxEMu4W zMs$Fh91o2jEl5KKl%_Y~az5>@MZ7YO0!ilOHI%?{%^+piH9N7S*}NBWU_R^mJtdB0 zbttj(_Y8QuJ6?HZaL>$(Sktg$R^*L^KbCFmgS+J#Pn`SXpPD-$h|F%AwO}UZeR0L$ z;Bc~qGqe{|+<9t>J1njkPK>ht-MC^wdJSENLexvXy`)^RIieAcg0ECVN_4G=D+WrJ zD`qc|dUV8|gc_u4ipiuvBu-B$Fcd*#*oX`Vkz*rr97Mj2$afHxKwwm(2lT&o#IEka z5&KIIj+or{?#2;Y*}WsCqZ?onkUy{Ka>R6q{%;*IT^VwpgszU*y;amEJT>vcuyp9; zip@O^Y{eCOWFA{hTrqe*on5hCNA^q2kI}l_`(x`-Qp6vlXPV%U zeM2V;_xaq53HAQXy`DG)Eam$guwdn%S=q+F#94&#j`-jBXRo5>YAJTK)ZA^a|I?+z zKG89HRws*H<(Qviu`LdQ77Kg)|EPaP15y6jSLQ$H6m<5_cAD*#Fcrr?Yo&j7NPTt+ zXJWo{+_Om_qKEf1o^;O&G2dg{b-u@d@s4LePNwE?-vRp#OB7ePf41E1pS{!7KjWWD z_;-VnC_7M$Q1U^Vy)S3|E#2|e`Ye9Q{OGDFAlwb5BKa0xLi(srwP$c z^Hn@q-?K5fNPYL>PrHhL#)HAbXltx*t9ggw+VNc2Kl*q6*;nTFXa9%(*?aMhg`ZL0 zZN1~I&i>iK11|q8-|e4G17O|`fpOmLl!N>ZtsdAEyOCqnFTY0{E)PQ7fRo_=}m<@)8R7f&5EY-VYBb!9uZXW23O;MzUJVsCwd_gx{`u2{M{ba7DWX$ z1xddipLF3Re!pi{ad~l7L7B(-!g{&K`Pis@h`rF`de3K?l%gLK`(M6sxRase4-v~53bxhf;u5i*|8(lqn?yTY(k7ydzP=5*l-?<)K zR)#X2e>#CBz?XEwlofRXOFZH36EdQE6dubzVw1mg=djV2f2%=hal?rFyDss^%Bg%&#hrG<05B#X@|!Kiu$n^D8R> zv-$I!@9-DeL|u@IQu>N#`0O+f`;#&*WshC|or6O!1qita8GPM<_e;?@0rZm%zmI1& z&k6zGAJ6%KzW`k{;2-cDiqIAQ8s|y+fUXSTdW1a)F*t4U3Et1Yg0LK6F2Xk8ogfA9_Lbo7fB7AdwDD)^o5kfS=Gk5{|1?XoWyb0Rpi$bCM z5SAg#DM0$nQ0T|PP-sN4f)4?H1A+KL(A@pMz%y!XA{9SsDtBMA!x%4S?5Q z6AJwaf$+7!Uxq;ZW`tgdCm`(;Jl{lE4;mf#65ysG5Z;LALkPqdBK!vNzkv2?1V6%G zKobjm5b=37{03-VL?C_)aDPP@Q5Fh)J|`4<3t=xqIdFR&sKhz;PU3qRb!ux3ga=4szD-8 zW{JESq>!HDO#CM)|U5TC@liU#FtI_9nAjB^Yh0+lcmq0Igu0qI1$N=1q zXC0m?psPeMnnR(f2yY-9sz)DPiZ(zzi)|VEjOQp$(slXI}*3*Wft_`7@S< zLdgh;2&<8&7CMS;fbML#9raj&IPp91%teSp_yPDY5Q4~)iM02Cn~p&EQQ(UZC;k~c zy$Jm%1M0g1b<2VLPf#}0bqeGr{3PP%BM?6yG?|d$1EeiRn1>Jzns3l{MWC64K=^dv zA48n@ixK|{VJq@3M_@bchb$?ebJ~mWAB|AxN(AEBHjg2cK|ac!iSQ`O9|wM$P={y) z!jFQs27&lNpz$OAPdqmuyoY!AXoc<#6HIfy@j__2`Tuh8`dgktb0 zM>x)Id&2Jn|1ARXi}Ac4VfpVvp|J?b2qz$XguBOec$Ohti7*A>2?XL39)*mLU@k)_ zdO8$Zgx~?L1#m3`;1vjK5$;16^bFb_&%Yyl{Vc|OgxFOW&+u$VcmeSfpF5K#aY5e+6>HqEc=9K3=9li?QH6e^Y zsrR`r02qkSb}`xr&-_c#UdT|1XA1`6JMc`#>-SxFCIHU4CKPG|T^*iZ;8{5bbp-uN zJo(qpQp(Wwc(&oWiG1KU@QA>!TVd}U*l&a0@yy4w9nT$TD;@mv?*|^w<`*$$;aRs1 zd{N<)?cj&!u8+~4wgT`TUVc&6UF?afjgLAhu1{<;%HsHr>sZ@ z1QAl8gTci4`p5hF$6nnZL@aA1LMGDi=g&NziT&em>E-L6xU{#ge^MYivwupjOZxUt z0tUGz_K(dv#)B*5p7#(|BF_VMo~B-t`zPMgJF|b%QshYv#Qe5@ey`bm`zHf~yx^+x z`avI$x<^C*_wy(^Qf})tv47&Ny(jihYKorNKlzpzU;mV)NBR1v2l`ylzpi)hKgIOz zpAJEM{gXihTE%S!ze|yez_T6iO^4rt*ZBXLUrew3{%uDU_pgiTJva)CQCJtoJ~GCS zI$R6h`{6&{K;HNf*9Ke>#zlAgd;wfOaJV=k`d!-VxBU|X)W?GUiJ78rX`eXQ&=b=_ zA!#ruxcAat9_qvkd>!&HAk%-ZlZ*PVjOtz5t6QB+rRcP&8t|KmaxO#MgA9Q_OOLuG zrYZW?-naE)dCQUBd^_ebIvd@UcR{!f{QcXG>-}!`Z7`kXk>3~K*K#-d9*r%+Pw%Ep z{r#I0dVhR$xAIGyk{|z~_)3gXUv-x6|7qvyL+m=L_++=n7E8X`rY%VOY&1sD=Wf2* zRFJ#bueY*aWH%cFrQ_T8vHP0$<$Eu2w;-mqgtq=+1&O78LT#}B#b9HoNEZrG(bPq4 z6hvJm1hEtov@xJG{?3_m?z`{q9T7qN!yS0{%>3q@Gc#vC?!7bTzL8L0yMALEmb$y2 zPOjgW*6#`E3tq<#FaLkQ#j=8Z7SJrhudQ)Qk4wJqNe!rmlUAS@M74jG5_G0|Y z7#{4@H?raQ)~=r?syp;9(v`wGar-Z^CMW3P`GB$Co)25QUh?RIsgRDHM<99O&<5DQNofSeoChkdLpmI9!(eTP1B$0mtY+MJTMC z37Fo^SG>o);nMg9hyy*kQov^;9F9vqJ)cw1d_4YfSndv(zV-Hv8b{WDili@X4n)&`mpm!`6fb43^#731 z8KFg?$Aq2`dQ#{qp=X7j7kW|XWue!Eu78hf=T@QHh3*wPBy>h-QRp$DCxo69dP?Y7 zq34BO6na_cHKFV8lk$ab7rIyIkkA>SMWM%po)CIc=qaIRg`O9BQRro%*MzR$78nX! zg>DzRSLl$?8KFg?$Aq2`dQ#{qp{(?Ocp2{Re=xOUc>Lf8QoXy=JJY?Xojp5u_xASg z{nwRRhwPio)o@=Ym0JQtQm!Cb;78 zNzOIqVNl`^9&)&@Lq`Ok6rA@wfITYslGvNdqd@ygr02Bo^BxDVQ-c3N_zxjX;Z^*I zzh^c;%oyII0KJ6YIc$OGXHI+{n7j~#d=&X6>$x+$?`h`CjBhpZbw7&%pQ5{%v{(6G1wXzcSrsk<-?9pY zxCbvl{}$Ni8`3Yl2Mqatc=$JTC+nyE?xb>Q4=o8F_uz+srxNO4^zeTQc#<8S_V9m+ z@r`EX@qkO=y*}SGv(ob$b;8`C)MXM5C791`~||hHkxHwKVcRQ-}mq@d+@6s{JIA>?@YGa zJs!LlIN9x)SikJ`@Q--#hkz&9t?uDp^x%(q@TWZZa~}M85B^=?N%j1(hyS-8{3>vo z*YSCA-NSze9*C31^ZOacynAoJ-0S~{)HCnytnz1%J zTe7X}9DP}ySJ&1Ya-8Q)4c<2uIQPN}uxcAM`0Lf+0b7InUKY;5wp6K?ZOE$5fegU? z(H0wpLYSyz%jH@wmQ3eraB-xvxP0djgz~^!DEsiXP^H3Rg@t;#lqkJZaF}gEDqpj6<=SkvZ1d>Prp+E*5NFR;Ax;Iy6Y+dn!8#(~4*ePbj2CbMVSj^l4uW(Mt4X5zrKodYxlms|LdVOSPyVF4wz zY`#=!n%u{x&~20Cr4AR@O1>2gkB;o`w>$Apy9b41eCPJRPn9`6D6EuJmpy7Z!zTYv(GMD9siI4jKiY?`FtI1x4%JpXocmb)KdYa^-BZ z*&guD6&aSSRqR}&cC>E8NfB1I8Lw<%p%iZyl#0&1O1(o}X3qfDgz8SXP}3yu$SYD#2LkTUsF4DOMko5H7p<)nDmj`W31-H8 zZ;_WE^{^>IO{alfKMxmLQ}EHR&drchGqr}63DDepA$P>8=d>M}Kv%(|+#YQfBCF6U z<5Ry;joCSo7PXG%z#!#V3o)_CgPO+y3F|;TD4iZIcv4i@xl$0E#o-_=cEZOMxq^(~ zOtv{O`$!?z8fg_O#NfIqrVl2Z9_yEx71n*O8m)@-CTiNO+4*cW4|_&yIxP+l{z+Q=JDP6oY_l0QbC`O%7h0y85XiOcJf=;fSU?p@4I=ge2 z?lv}G#%%%PiMza&ZIyDiUcv-!HR1y>?Dw{H`m@c#RH53$M*+vEX;e9o0Uiq0=6IQJ z)z~*3&gbnxyNgx`ba!V^;|WVBB}=_4$^u!XJFz+tZwaL~lI^s7J@=UbMpadLJ-=F(4NE<*0t<(@{T~KOXF)2j=RcR^AsX%a$J)!1t|xI*KZ>hmDl~`$qSC Date: Sun, 6 Apr 2025 01:34:01 -0700 Subject: [PATCH 2/5] Delete examples/bsp2mtx --- examples/bsp2mtx | Bin 64704 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 examples/bsp2mtx diff --git a/examples/bsp2mtx b/examples/bsp2mtx deleted file mode 100755 index 63e3885d6698d26e35735da0d4d0bae4a731d370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64704 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 Date: Sun, 6 Apr 2025 08:34:11 +0000 Subject: [PATCH 3/5] supports CSR --- examples/bsp2mtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/bsp2mtx.c b/examples/bsp2mtx.c index 44116b2..d6c0294 100644 --- a/examples/bsp2mtx.c +++ b/examples/bsp2mtx.c @@ -21,7 +21,7 @@ int main(int argc, char** argv) { printf(" === Reading file... ===\n"); bsp_matrix_t matrix = bsp_read_matrix(input_fname, NULL); printf(" === Done writing. ===\n"); - + matrix = bsp_convert_matrix(matrix, BSP_COO); printf(" === Writing to %s... ===\n", output_fname); bsp_mmwrite(output_fname, matrix); printf(" === Done writing. ===\n"); From 7b4383ae964ee3f6101477ccd7a51ab915f7f532 Mon Sep 17 00:00:00 2001 From: chihaoy Date: Sun, 6 Apr 2025 09:57:11 +0000 Subject: [PATCH 4/5] small fix --- examples/bsp2mtx.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/bsp2mtx.c b/examples/bsp2mtx.c index d6c0294..f84ce96 100644 --- a/examples/bsp2mtx.c +++ b/examples/bsp2mtx.c @@ -21,7 +21,10 @@ int main(int argc, char** argv) { printf(" === Reading file... ===\n"); bsp_matrix_t matrix = bsp_read_matrix(input_fname, NULL); printf(" === Done writing. ===\n"); - matrix = bsp_convert_matrix(matrix, BSP_COO); + if (matrix.format != BSP_COO){ + matrix = bsp_convert_matrix(matrix, BSP_COO); + } + printf(" === Writing to %s... ===\n", output_fname); bsp_mmwrite(output_fname, matrix); printf(" === Done writing. ===\n"); From 22ab0ab0b24e2c8d3e429dcf9c0ffee62cadfcc2 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Mon, 7 Apr 2025 13:23:34 -0700 Subject: [PATCH 5/5] Fix formatting. --- examples/bsp2mtx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/bsp2mtx.c b/examples/bsp2mtx.c index f84ce96..6e3f483 100644 --- a/examples/bsp2mtx.c +++ b/examples/bsp2mtx.c @@ -21,10 +21,10 @@ int main(int argc, char** argv) { printf(" === Reading file... ===\n"); bsp_matrix_t matrix = bsp_read_matrix(input_fname, NULL); printf(" === Done writing. ===\n"); - if (matrix.format != BSP_COO){ + if (matrix.format != BSP_COO) { matrix = bsp_convert_matrix(matrix, BSP_COO); } - + printf(" === Writing to %s... ===\n", output_fname); bsp_mmwrite(output_fname, matrix); printf(" === Done writing. ===\n");