From 4d6daf5b6fe46b9de15c95528c5f85d3f03da6ca Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 6 May 2026 06:26:14 +0200 Subject: [PATCH] set and get --- matrix.c | 13 +++++++++++-- runMatrixTests | Bin 63792 -> 63880 bytes 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/matrix.c b/matrix.c index 666e640..4047e00 100644 --- a/matrix.c +++ b/matrix.c @@ -31,12 +31,21 @@ void clearMatrix(Matrix *matrix) } void setMatrixAt(MatrixType value, Matrix matrix, unsigned int rowIdx, unsigned int colIdx) -{ +{ if (rowIdx >= matrix.rows || colIdx >= matrix.cols){ // check if indices are valid + return; // do nothing if out of bounds +} + unsigned int index = rowIdx * matrix.cols + colIdx; // calculate index using row-major formula + matrix.buffer[index] = value ; // set value at that index } MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int colIdx) -{ +{ if (rowIdx >= matrix.rows || colIdx >= matrix.cols){ //check if indices are valid + return UNDEFINED_MATRIX_VALUE; +} + +unsigned int index = rowIdx * matrix.cols + colIdx; //calculate index using row-major formula +return matrix.buffer [index]; // return the value at that index } diff --git a/runMatrixTests b/runMatrixTests index 9fcd4401be0e80619c3818f7646fa0eb860880db..a8f13ebb55043fa8b3acbf87e91fe9a89403a079 100755 GIT binary patch delta 8950 zcmZu$30PIt_CNc;(W?xXLBM+zkm)kYpeTYEAYQpR;($tNYA+4VDN}PIGN`=o%2QjV znU-W~=Cd?;ucv7O4uPqqY36{l)pbhLN-$sifBWonFSqyo`9Ahqdkw#}_S(bQ=iD9l z-IhLZTM;Ac8dt_$Y&SPwQvc>w`La^E!~Vc0f7v-P;#h9OPd{x9{jy{4nTtkLZFJk^ z&BoI>zcBV2m7+aKANX}=J`)y4RqN*EMj)JB-zZ@ ztu;BjA`xhJ6q+x1M2q#SYEJD1RgoP`j6F#M0~WGR>8pS+wv6lnk?cA03JharN(zi- zgK2bNcUg(4S{4|}STk)4ie$IwL{J!8LJ!c6r+|+4*?Xij#IQM(Vpz!PX`3OEeMl$J zzD&OxBITmalpNTBl8t_BBIO#p%Z5mrZ#2nDC#p1dV_#OCG_Gar8JgMoJsvwanq^Us z;I1r({uZ3c8mlUUBbe-^qeCGPsKAYoFgAreLc>@dbq(FeY;+s^D)R2~6ML0@>k`H) zC@Ab8n??;`CiX#wghQ|VSjJVq828QdqSJ1SD)WzFP7>3g@O z<%`{Fk-o85>+HTlTOqXPxR%$@VpX*d=!M8&_B|~}`ycuQ?HW3Qb`jk`JC52$1?OgU zQ}Is-gg^cOLTxKTn9!aV+QW~b-QTKpgVvtXot}&OIHT;gkHuQjWU-m?pRMD`S#P$q zsQtQZ9h@Z2*KtO0+3uWOahL*3H<*=LOo1M=Z?v>j&xX`qOkJV_!-nzx4BpQJcPpWK zEa!W3>3q(m(CFxGa=HD@=m5{@c8BlZ>=YIq5H^SlROi0n9L_ztRCP|Eu`w^QU35IA zW9j;zVKLrPR?_4(H&8@b29e0+Rj%yImF*qMnOv!2PvXib;ZnqDvz`JFZ>Z+J~s2? zvYIsgz8ZL1G<)xW+5us~5p zL-IiHYd&?$i0)vHtmLV(qFOHBTQ#`yX+SE>ro2o85{HbQ3B^J$jC3-Xx$b4t4>Fs%hM5oA6dy>^%?B5I z*_3u*t>%Me=6Y6EQZJQuwkeN#;$Zr3OG``a{`A87#qDk8`iEz%=A*YfZOX--bT{$V z@J}wcw3JOh4#4ARZ}l5&{ucm{pZnt zIIbSk7tgz6DIs}T=(m?N_p2-TdU@6o?;aHc^&G{13M#7X7DT@!`?95PrUV#gLt?Qh z53r*6f*brhR#OJYDx#zmLuoaa+X|a3*3(@5GRA{R9+o1kJ)G7-fLU?)zyp2Aqe6@I zM<5>Kp0DvmVN*Wid|3^%Se4CSZ&@JQB=mFREVh6JoVO{%IT3*ZM4-}ZSfV`ehTpJA z{a`bm+X$$UoUK!eK=>cnQ5sv_9({ZHMdUQDH7Dm;qdXc1bL2J}V_B_5$VLQo$Md5R z0aJL_)>k>sP0GX$n)&9tpheX3bD{R&U)dTCB47^TzFZYibST96%1UAWlR z|GvP(;P68Tf>KD=LwZXO@2`_Y^!ePcLitYXP7yGT(i{zDhJb10FoT>hV;nH7jMBTu z7$M`LWBuaQ9l*Din`U+G?@1E=qxuT(Agd#^7#a6?h$9~ z0s{>;*41|1Ihx)h#&or)75AdxRorvnohb|^ThGp{3vKBciqoUMXS}fhY7Mo>)$-_B z@=EJw(g`FrTX(^$sFJJgi!>>1y8K%lol1+5Z^hA{X+g>N<3xQ%;t6dtH$xy)fClGI8&TYHRzyf3sqjtvKhS79%~_^V`_vJ=*QdYR@%Y$z>J6B>y(YK*5>6CSH~{2 zDY;DReSRLsy4lgnS8}WvogD|G+LP%%EIZh%y{E-Bb9DER=6VQ)8cC_BDAw5$f>;9`wSyhI&1*sPwI2 ztuJn0M#n<^oj>=NaG7bxIllw6bKo zVpRc)r)uY^e%{{XNM|o)X2qvwYk;x~ppD0>Q)&yGfM0`kCfA47W+kW0Z`Cew)&6?C zrG-E1aZ#|(3vdR$5Jiu(I?2CAks&*TRZ_3){G4xa>*oWoV}?4@oCwyL=BaN<$r)z4H>9=RcLcB2 z`v!QY?O0lz(~TKudybK{qpx#Joku{eRdcMX<+tD9S=%)yHrh{MsoURM@G5S5SL>2* zs3gZo^ZEv{4Ejf3BU?@%_ca;k40eK-fOV$Pc#LlJjWzXv%&|>U1g}DOb+ttab0@JG z^nR{Iz7j(A+z7cLguMC%b-ETJ%4)vG%X+=_e7PDzS^c66mj*hc+rc`cKSd?|Qp4wk za&O#SDwIWnJp=Yt!CnSiLMQtroBF}ikz=;t)f_Wj5w}yUd7#IOT^vhp0hOA2dvta7 zyVD_azUNtBiyd+)l#KloSt#ZAk77kMvwr|vN3Zn{Wr?(@zbR#YzBBP9V4aEodKgy% zERVljinc>YvwDP(G0(#k4s%DgA%a)4HM+u7(7?Q?(jP3i%5=u27&7STA5xTq7JD9o2R(MK0T94schx+|) z6#93dhYsG_qnBSCE$$V{6(c>!i!+)KLtBAKV4b7gP>+XNm^!TMd1@N!8oVrcbyyAH zo%Tb?Y6(Xjw^@w3CEUoSETnHNo!I+y(-O+|QTzN*_A$lf#~Xg>?+p16tP^4?&B*VY zwHhKv5lQfBwB@d*aveXp{v}SXN?wNn{Pm|o*-dxzjfM=^YJb=DopRR?;I$_I@r-5iJx zGFf^Knc&85EA$aF^4@thwIQ0m7t4as0S${dpG zc`!%AvngMaZAee!s}4bhVgu_8@MkS92$8Xvbu+|{AUT3pgY zSPXm4RLq+CD9ysgD=Rt5<{5!s@aFJd1`mgIh0+16GtoC_*zgghANFY-(|WNk&`8IfxEq*ePlSZ9W@w0%VPz}NIzIwyIIdNwZ{IgX*G5n(Kwj3fD1 zwak%G>;-yeWQt)&Z)c$0V4YA2v~A>zQzf9oxfz;U=_qc~WUF!;9msy(Y&HpjKFre{OHVBio+=M>p7FcRiHfI1_dq3D9cy%J)2k*?y zcMq?#lEL--5EuKjnQ#3H<)|m5DCg_A6N&8V?0UY%>l8B_w4x4i#jE{-U!OuAm8x&R zj<-$gTs$6>KpsR($WQQULf)N^-hjqao zu-^lRTuV{PI{UZWu1?tiFfCdB)y6saKrPw-C)fDD#=m(MKzJ4P76p0ff8#H9#-A62?U?<+g@l|4UWN9@%#n{ZZE$?8SkATNOk8&d3F^ z&kKw?df0zHq7JsHh2KB6Y8G;$!O8XeK&!@+!__J6 zK(uTETUq~B)~A*AYGvEEvTdDgsd6yQiB_wzF40A)I_y$weLb^^3$>O;G6cnkc;5!%OT?OWAFmrR<>YfEcf6tG;Yo+Ggj3$8Ad8YA`MMh}#WR zr%2KS&=}BVpcc?wpv9oi)V8!N1>FF;1$62DmX>b9 z5d1;^0lF0QtFPe?8jj^q-$p8xp5^NTf`_2Gwvx2`C;&iHj{yMmC(vThatv`P==g5| z0Gfol)q}Qx+Cdk62Y(%Ka6ra@2K)ej(1B;*4;qXo`clxxpj$xCKS_#0H70b4Yz=9!9A!L^cdc>mV&zBC1wlgD7@j;gP#8d{-FG`fDWI!UIL8) zZQIz=(hqbe=mgNvdo3-mfbIdU1pOYg#vRP?s*>XMatJO-l4SPwd0o!+YO~0*EmD#? z^w3SqZ zb}ubJJCN3(-AcRB{z+%2h01{k>Cv=Ufc84AK|7Cjqy3f6 zqTNo-XvdRbMyRYmOc^sm*z;60Bb3$A0{io>S)n=pm^7oS-LTezmc!Ny`Vv>YJV!O)1>Xq$)T)#hmV2_|s@jsh zvivrqdvYMvxVs0+(r^z+;&X$)XhDj*adp+9SH{X+{N`c0_+1My< z+hwntFlx(xW0CZixu{b1<~@dIOIv&gMS{!FB#dR z<&_f{ZWmH=s^}F+J`>=t;gd)eV1Z*cXGPjdL{_)txruflqv=AOu1 z@yFJE&ArbeYg3fN`zY^ajDuQUIhGyby`iEvM)LgwrxOcnGY~*({3I2JBZZ;VtQyu~ z!90|_a+-=87SD$*uPk63H!NEq6|1;mg`)SYDjq*-E?G5zJ))zldb6RVTiu&gQ@_<&c!Mlo-BXSzq`j*%@b36<^%0x|2j1Bw z2Mnc>HFH@bJy*7u5Wz}!bm^wj&8@iS!R`XcoL&1lc=<@;7F%(^S53KHEh9-8c;?Pu&!W-@}$~ij>0=>ED~ukinfzquDhwZ!VHk z~h zLn%oeJQ(lrC;?T8{|s(}6bF4aGA&H;lVo=`S@C*KSEQIKm4p?Fae$)Rqxj5)z_U`< zM`5q0DBkxKw^x-8Ws2XP^$LDuum7x!4`%SrTj6iIxzhx9_o~eA54u4{^4X_TytV3% z)v9}mFLFsQP1WRmHF>ip&!UxQgA6}(6XH#pwmUz!;I)`)p-oH`;`cS}bWJ;s?w!4h z1#soucr3)6^GSTw%|8D$+d?PK2O0kNbhv`O?g!9Q#2SYBI<}-YP7^MjL=zi=^4-RW z80zs3Hciu}#tHd$ErkLumwlw-B2A!?QJQ@t)iwkf-isCDr!=iq)4o9W8iKG$+Fi)Q z&KhSgyGd6r1m$my7Se1%q)VDMSj)LYli$?j*R-6~ zgAKYrHTg@Fb1?~<^@WQ`eCKYscp5un!KFMb>e@?5hVFR+=Ls!|@pvBbB$}w**?Jxpu`RklUAY^qs`+FbmCzeYoT^cS#rTC8qo9vn@`rJEd2C*7;Oc$ HYmWXumdidf delta 8601 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