From 6f7c21e179206a90792704cb613710a7b6217afd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrico=20Schr=C3=B6der?= Date: Mon, 17 Nov 2025 13:19:17 +0100 Subject: [PATCH] =?UTF-8?q?Update=20doble=20libs.=20timer.c=20ist=20nun=20?= =?UTF-8?q?plattformunabh=C3=A4ngig.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- linux/libdoble_complete.a | Bin 20738 -> 20738 bytes macos-arm64/libdoble_complete.a | Bin 15584 -> 15680 bytes macos-x86_64/libdoble_complete.a | Bin 15344 -> 15424 bytes timer.c | 38 ++++++++++++++++++++++++++++--- windows/libdoble_complete.a | Bin 14178 -> 14140 bytes 5 files changed, 35 insertions(+), 3 deletions(-) diff --git a/linux/libdoble_complete.a b/linux/libdoble_complete.a index abe0782811daa40b6a3c78b6c1d156223047b309..5acef16de6be097609dc487ec16cf7d94e07e8bc 100644 GIT binary patch delta 134 zcmZo##MrcmaY9rW=Q;)kWGudmfdPb7{2*BS7Xt%2cAUn*0Ko;N#Tg6*`2`FmK%AVD znphNEl9-&$FmZ;~WKBlt$p>^qCmu@QEa_;=vAKwmhi`M6$rPT=VV-N)H`noVr~&|g CEhiKJ delta 155 zcmZo##MrcmaYB?Ge;oq@I#!ipV1QwhHUsHVsfk6wC5g$|48F|9LImp@z3r~>MG{glDne@Wt7hBuI{$&%7jq1c#;lwY4IRpke9ra_$TrZ z)M1zBsW9`FL8mT71=}Aeh#)3BD z5BUaTv80(u8inrE;sOx`BSc3*UjxxS=>xRKh>pv67AyyeE=ztEG>KM0q5mrVC@A_I z0)@Us@+m0lUQ3oh=#SA97J7*2x}*jQp#_RYdqn&N3va?hFkkkK425NTv@)A%QI%)X3J)y1-7$#J%)HIC2cwE=bs1fJO z$xE#k1`~Fo#-+h{B{_8Xo9k7>A~UYw0(j<3thFpNKFOfM1C2WWRTK6bvR9CIDHo35 zm{qeRJJ13jJ?FitMBpQqet6@x{A%jTVv&}{pw4#@6%bu<=H5ImD!J|73fpw%lnv({ z6|iHztdK3}V^kw0H!yrb90J2tZE3mhoVV891*F3GjHY@Q`kt@1 zYZr@%qSxpvmzfn1S2mh=nHiV)5fIALN$JO3W==`A@y)YZi|%^$faqFpahBGmz5kU$ zv0g*ZPM3eAi{5@+xcob?8{9}&dyF>o8&Lk WJs~{y|Gnpm`la>YJ--bPseb@^KD}K4 delta 888 zcmaKqJ!lhQ7{{OYV!m2UW6-3zCf7?^p%klkNt&D`2`6=u7AkZQsg+QNiXRo6G}sId zf;gnSf-dTsf{S#KOmT5>X_pe54ktl`y4m5-|C@V{cJdkS_xzvt`MBr3>pgKEx7En3 zRV-WOOO>tsTvWvoU@^{EhObtWS)@#u z7Yl}dWM)NfXYS;~{iwgIxidY!n>bQRp+2nsr&c*_9IG8tSdjlTNAiAeU7s~f4E08v zhEXn+blo%!i!ZCo2?sAGY)bLiC*D=-XJ2}15FVTaaKHT2STP}PLs-NEeNy;UUFTh0 zQ&9U&FYuLICi_O7+LApqK?}N$hr(w9#i4b0QAGX(_*`bS1@9GFwu#Z9+x*<=1#a#C zeMWn3lWn{6v?b1o*4~L6#%wp&Z)}p)(9oitgQn4j=7hs~YfDmJ0kOb> z?Xgypal>P63dGo%xQw5aal{63-P0jJ^bgg!sip4pg@oZBqZn??ziTn=xGo5d@qYe! qp|PER>oMpNwDnDu+F$J)|EMKH^Y=E^?mprx)iigsApfOJVB|le%$6_! diff --git a/macos-x86_64/libdoble_complete.a b/macos-x86_64/libdoble_complete.a index 9428affcd6d2bcd49ffa1d32a051d83fd367fb18..65aa2f11827960d5e5e6e67fee5c01efc23c1403 100644 GIT binary patch delta 983 zcmZ`%Ur1A76hGHF^@iiymDV(y+c44v=Dl0)`lp%%qYpy}!Z6B;z^M<#Afuj?T0M+q z6yIA>XwXAM53(nTXhWeTnCxxzq7cEX9>#i5AzJ5b-|(r!<^Im^oZs*A-S3>joz&eY z2kU}?K(Apw^_-ZU0RX!f;1FV}9^jGW2vAS}I%Iu_>P-L_C9WZk`T<@LNB>vJu~hy} zBO>`ViSH0e_d((&BKi-*1SY%{;Fd%uA{hq}=|BYlv81#KML8y3DlSnv;uPJ=O>{uJ z(QWuWdtsQB|4OFx_g05r-|Kj)EivzENqTFHeew#*e4(R7t@4!KD&7W1v^*YxB2!br zoY2gWqf{Z~YAxpT_-YhAwtxmwZ?7uE8#AQYWz{3AIk9Vo)Ld07yp}UAU9v%`*|7lN z17HQH5f3earl?d*N=0w2Shbu|?I@r_oD)XhrP+^lnDV(E(&Xtiwj5#Z2b94GkALT} zU%J%XE|dj4;h-i@3>SDJyu*E2KJ|Iuc$3FY;-CT8W11@eWTn5N!1Pb4RKD~r8*+47Tgr$oBxGID$Cj}qhWdkw zQ{3x!D;vV=G}Y)|bYeKgLYG^elx#y7s`J`UG~iqvw6qv=>lJjRB`zXT{~02V!V#Bv zLH7G3(z0W}i_mL9_;q65vo>XhjknVcYX_e<^}g5eg60|&&~KwJCOiSg;_sT<>1 a#MS=a{x&D0jYqYH%BuGrPrh<}QU3u)PSSz^ delta 909 zcmaKqOK1~O6o$_vPBqo`W&#sq9?g_iOoh}uOj=1K2@;r%;-*+Mk)kjN+N!Ho#AZ>^ zR1i`xVyFmRNf#~(-4s`;5$!|JY}_jdDlS6YWFf|LW-g>Fe}?()f6wF2Jxpz`Ia~4e zB*x>(@#K=0E{y^}_7J{MO$i{4B>x(@8UZ*c_Fo`x9RqkJcn?_)0Gvfq{v+YtNb2(r zN%gyeMI_}-3s#U=KMbF7F_#4RD%e0$;V_aKH37I!itv&&!{<{@eo^Y@lH}(fQ*Ixo z3`I}GB3f6`G3#!8%I8^c?vM3~yP7^bcwE`*%driI=f54YF0Z3o;aeZFt;lLL);&+# zbKntM{3O5Yn^0EpyGdI%i&g%`mr-e?B--7FoWfTxPx#|XjkZxv3sB~F{2AqwaGGG1 zZ~HU0s>FXDI2XXNn92%n*a7f?HEe3*VS8MOh>y4?GTQvMJ>#fhoDK&r4O}XHrSV(PIDgB5mIsDYtv4DGa7VY9`YeR&MG*kxQR`E*-fINd=3dq8*B-^+i0K$sB*Z=?k diff --git a/timer.c b/timer.c index 5228826..fd8f6c1 100644 --- a/timer.c +++ b/timer.c @@ -1,6 +1,37 @@ -#include #include "timer.h" +#if __APPLE__ +#include +static struct timespec start = {0, 0}; + +// Starts the timer. +void startTimer() +{ + clock_gettime(CLOCK_MONOTONIC, &start); +} + +// Returns the time in seconds since startTimer() was called. +double stopTimer() +{ + struct timespec end; + + clock_gettime(CLOCK_MONOTONIC, &end); + + unsigned long long delta_us = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_nsec - start.tv_nsec) / 1000; + + double measuredSeconds = (double)delta_us / 1000000.; + + if(start.tv_nsec > 0) { + start.tv_nsec = 0; + start.tv_sec = 0; + } + else + measuredSeconds = -1; + + return measuredSeconds; +} +#else +#include static clock_t startClocks = 0; // Starts the timer. @@ -18,6 +49,7 @@ double stopTimer() startClocks = 0; else measuredSeconds = -1; - + return measuredSeconds; -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/windows/libdoble_complete.a b/windows/libdoble_complete.a index ce72eb5de2ca833a0ac795b224fae0785019e75e..728bb8f4ab6565bf5927777ae6397da54dbb2417 100644 GIT binary patch delta 1474 zcma)6OH31C5dQzAls+KxD3lgx*A~LNY`cB=NC0b4VoXYaL=UDS6ev)rZ8-oYkQkpK z5i(~3UOYiK>`~(ZiP3`zoQR4VJ(>`MHx-TZ@0OMjqn%{_`TqG|-^|YJ=kcfG3ucX1 z6#Y)WTUfODd-DnjIjn^@2w`eEt7z44LXK+F4k3!hCKJOXHW4F9)c&z>U%Wfn*FOqV zCYvT14~M%W(_z?bs)Tl5>EilO2T8DH$3zRC5~uHg49^R)PZ^zp;PrZW-YNS0%GRs8 zf!k`r}#o)8XN^{sHxTmoy=rSPp;&=%$>E63nhwNV|!$qEO{oJAURyrlLs zlaaB31Rsk}jD-7>^}N&Va5)6!L~4}U1!&zw%cFlI_8ON)#dVWv6t33a;b9^#-EgVmzGxooHxtxCA zQEp#y39&G4MJzLn+m1?!H2-k!a!;ev0FTV}B8Gyvrw30m$z*a~g_$%-y)~OuzC)_7 z6)Cr{0K;`{o(sxu!mJvf$xqpbh|3W(tHaM$jhIxi>HeP+b7*#u+r}ccOa{(wR-e4 zcMdPrKv81=;@$;pp&VbRb2u_Ioamp3hf~Bdr2gLXqR;K&Wnn#^C&zEl6H?1+7#w;H zy#zk}60L@9{W%(xtohcwtQdBc%&KTW+A_YU;=g}8F3$=4`7p^)cnhCQcI`n+SkkQ% zGDk5>ug%!z(yqB8s}_d}YecV7%g5T0l6+MC2pVjTbMZftMjiUx=scb&KnDy>UXSc*_9A%u`>63mlk=G&Ql zZ+_p~sQpq~Q>3XvE?>w`Pp^*_4)xvv*iG^W03Awg0dPty|0ew^fPQuTvxl*lEv)~b zM$L1LMKG64XcEo8R-Uat+nk+0gJ0((D$G@C&3d_$lwseE|Dxx2F?Qk0IGg$l#m)1^h0N zWkcvsKFNyKiDc5>)&2T|D+1Yrk8Cox&^*boK2^x>_I4Xb(y5*q(eaWXFNZN53}Gu> zWhU;)P_kA!qjpUc&*+uDA=)W`mjQ&WpY)0+S9FfLkC#f-*-EXW(7qNHCDqPRIUab&ce2$xl&KwFMcI5EOpUL)E|n9Fg>KTDX)F$()29tlsZbQvUw z&|hI90X`(ozXaGM9<@=teZBw%LXP#Mi+&{}+yC);)7_!HbA(hIy+df&MxPRj1FVo) zrC<`y7UDfbUeb0DAH)G$#}jm{gD&D@;8=Oej+Hxbkmg!>5ggr^i^d5(=4|G5am+b$uE>5t#EbrSOjLafJs_|3A-9ur>TxUS=COqU>Ye z;#0)8@T`&&i