From 10666ce5b678f173f00ad8b59daae7d0eebe2b07 Mon Sep 17 00:00:00 2001 From: amoser Date: Sat, 6 Dec 2025 20:57:35 +0000 Subject: [PATCH] Initial Commit --- HPC-Klausurvorbereitung.pdf | Bin 0 -> 139488 bytes a1_ln2_openmp.cpp | 54 +++++++ ln2 | Bin 0 -> 20264 bytes makefile | 5 + test.h | 290 ++++++++++++++++++++++++++++++++++++ 5 files changed, 349 insertions(+) create mode 100644 HPC-Klausurvorbereitung.pdf create mode 100644 a1_ln2_openmp.cpp create mode 100644 ln2 create mode 100644 makefile create mode 100644 test.h diff --git a/HPC-Klausurvorbereitung.pdf b/HPC-Klausurvorbereitung.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bfff9960364a4a3c154dfc2be4c8fc9ce033d5b7 GIT binary patch literal 139488 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

QIZjicGW^NN@(FAsjo}>w?yOV%M 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

d?-dOylZ^iFLjF-Gr6xtkS*h!{AYen)R z#km2cMJ%mwDFBLJQ%TWD>KY)ZT(1ZBeQx8G?+GGq2DwMaog6f59uS*Fd@i!=XNMz* zF32GWEyyc~ltZZjSC7Hsa-9$Y1dG%QMHooAd&4j7wESR!&oqa}Q%PioTgwUHpUfNiZFQ`gO~UrRSv;5j)2fI9c3x;XReS{z)az||zv*0Rwh zp;BvXH-~_BtsYiaxly-vHy3k;px;mN48HG0`aN#$7EBzd^Mxe-qF-u^1mhR!#Dt$H zX#K>zz>w_Wx#?$>NU(oIth5a4u~t=(LwN3#$VkfNhu|AE#6~Pse~mvg=^!x4{rBo=-%$wihLdK7QduR?c{${ zu+z9aj|KA9UI=xvTgsC7HwC&cGnX_KdjBNo$N@yxE^IrieM{CZShYCnt~hxsa&aO{pl-M( zXE&VMLKwzFWMPlHYtM5@5`Kc+5d>B*MlGCR?`?GzHVgEV+4O<#D zl5B>>%gVs0yhJ@IGqw0PD=BEaPU~LD-G$l#)k>M3bXMElJk@kPCc!RTn5bp9vYbz- z~D6w9#6ru>6G%9*yVo$vl_&_$nx+}>xlKC$mSeL;jXD&J8n4W&sA zR%d!xe5Wo*fm5sUI_H@IIQbwqu#rUg|Zj1;bOUUhF@%prt0V(_a!tbOzxKWHK=|(9B@;R3+3UyP_JVZ9{%m zr+P8A<41N2U;kKE4+U9y7}0RDBM0oVlTsCZ4oRG)v)wL_RS@+1U^5+k5~se82_n6F z6n78AP@~bcKaco<0=(hpr+!~G-T!2R)wgPx8q=c-MXu@#`$8y>Lgj)BS5CEK*v|l& zgl29Y=mk0K>rp*eT!QMC2d*??hS}K`giO;lHZ9tN&FD3`pxV8VMmK*U=lQ-WXKR{BEhiS3%|36l4b*m;bK3Hr`7 z8e&g*+i)h;JNal>%zz|sSmlJsameHG1?BCLu_fu%ZzKI3vf|H>wW}_C39-{L=B%kC zV~g@xY$WB&5bqvg!tBkAbT-j`EG?sEmvN8sHi?x&PYDA z@HY7t$_V3_xXQ5YwMsXg^gQ0Az+#qPvh&;NiXH8y*uMed`5R zO4IVBGuC6C?N3ZgHuJOOKOox-yI=C`wrGf&{HQa3(nq^o-aiZn?@gxrT)t1=I=GW+ zY09xrdwhcK)VJ)n%;6|FQ11@QW@=GtNwvn=v({&WXTW;z01vLM{Kx3G2ro(rp-Kj! zBQ$(W6rn0RmB%tO)Vv)A`(_T!Hh_$w$w)z1f%y#GG4?U(aXo-|GKqUn9@KQaaO%UW zz;ii>CP^zts>Hjc!^?3jrm({ZMowsEAKeE1`yJ8UGd;bV=9^hEM)u}>eGJ=l=q-~w zgpPo19`13}k^e37^S3unv0sb~c+dETPF6T+y%^PZR>ZBa9pQ&dU+*D35D^lTk6P42 zzBB4KGYB>Vl1TxF?D|^blMu18{ zwC|bG!06|KO$pP2I;J>qheiOEF6l+=M|qqRF=+hH_#YRik2#kqE3NR%;I5ZL{;?=l zj)1==boR8ofoDH7@YKS2g4~jWRIlWfsPh@D3b5HA(<^`*6=5wnQGCa|m9(;jm+Q(6~_)On`T|&XwWi z%iSK(omEFJGpFc?!X36E*K)XZj94b`R8saCnoKEBF8i})2-u(>#!*iqZg+~Av9{f0 z72>0g?~F&wx9@q69o6j-KeId~N*zxUt$&lq|A`_r~#8yfr=>_U1#OP?agbnv=FcSDnBM^@( ztLqiu5=w7*l8o;;a7^0x&b5+fNbsk2@OlZmQ$C^FbruL8H`U`(=VD^9UV5}gs$TQ0 z|8{b{^1<8qur#sYJ0{OkBp5H+*FY@FS5-=?*LIhC4!lj|`7sBS$Nwt+fxTwc_5C1b zGkS7pQ6;M7YM13_>I1v^s_Fw4LOf!W&)+wQNOKIk^*as}A* z&G{K!3Swd9xEbPQlx>FlWR~mJ8V}=`Ff(#@{eBL}kTf~6gp!h@UTzg6)LZKcOvD<9 z+#p)Z7JGb<0733bVV)-B9U>tLW2Z?TkLDuwlPwAjI@*n}iJq z+K;!`H<;ZAU zzgCj?ZFb_66I+#v68_OeuhS&+n!1(vsKT5ULf3d;bR)!G6^6pOW)4r4i6_w_Z2A&ljjLFd{GZ7v+bKql0c zG`?z9>SY&=>NU&8VCTH6Ko77tMf;7F3`|f_U6_$3=VG7(uzQ%@zZ&Dm>vh!06 z&T;!Y4%gp=AbLasD0*lDMv)40Ug3{fmw2mUIKMwgF%NtFdLZT@xgdK;m!Bj_3h^Nl zE=W0Mxg;a(K(>S20(Eh<4Hor(2zduM`-HcR|2T0N!r9yOXF%7dMj+z^VxK_8bimpZ z`$3F}vSJWVy&9kSV<9_xPJlk%dUecSi3Olyn)hKV;g%6M0hcK6gc<88Tm&qBX4TXUwocoYvFn06 ztyPCr{=YsBWA-E&yBU@M+RCOi`12&*gbl-v{to^}_HQ_sCRTpQw4dExTuk?zV#>9Z zN%N(0KSL>fu|NjDQ96N%N-`WGc_O~s+r%Bof6G#RQzaXjSy7=r@%Ej@I#)P)*wx;9 zPoAw35>sKJ4^7pdn=#Q#lcxERHb&AK>?>62y~Zkm4oZQE)Oe=Q$syPu%xWVQyP`$ zdq*X-IjoYL5{R!$sRGPS_If*8B5P|=4f4x~G9CsXH~e9amdI`igBMEc9-i)@o@+PI zbZ_wP@a_oUj|Pn+M)8xFXFoz*vuvB1iM8pWgz^Ws zJ7k-Ano%bFsdd~QE|D984py8w>D!!T4hx5%{kEjMN#8J$yXLj4A12J2jvP5yMF}t# z_M5+ZQOVoSuJFZV)y~PHzR4DlnJC5Bu58E08{#9zQ%ivfo-(dl91vVjNUt=LXL7O* z->aI+j*F~PDsdy7^7syiH#jXU;mywhku7)SFk|D+d zxpp7S)~W04XSG%GV)rKvH04GrP}{zLSXcCpnrY9*C-#!SYTL32$vr;~#Sm+on`&$0 zHUx`vl!~cD6o-owx75=4hyX=7>)ABP!)oPNGH9!veBQ&BiXkd!!|qDtUsXO%UN!+d zH9zm>`|+s?I$D#cIybdFmcywr0Zz*IBp62gqNnm0x>U^uZe3FYCjKa8K#-Nq?54!eh@U(H)FxK$b zP(6t#AfiqqWhe67e3K88U08X=Ui%LZc2rE5$TGp8R?4JTA;|+KVdR}NbJLUO{Ymy! zAQT1pW)8+4T&YHw=Vn#iCgSYj$|w$3swVuQLiY}2^Vx1{DU&LIY)&G|cFT9Pr~~vY zg^;zCUQa>9O*HPN_@c@i9!;@!j#dG4Aon zG+kC|v|wDaBDP@}026l0!yOgkG)7HX7?u@@njt2zVY5y)*&hZkA+})q1%uGqp5#=9AGT~VO=X*eO1b~ zkvMD75Tb^=bXA;G3Os@TM%&I(&NWtcoRb$&dg=bx*VVWDC=V0y_pltpA+$s|8~*mr zOra#KQ6I~8H-U9VHY0fjM1H~Hlj`m~0fU7vDri2Un1Xyu0eg)z>{+IatZ~h?Hyw9H z9#j(t?nB_dzviz3sHMFtW65FP8w38Su-qLe>pg3o>wH&D<$8PXXw`lG(&may0fYnI z8W8Z7M|O-fD|IS<{PHQPSN^CsZmOHC-Sl2sw&mYpX)Qp$cVCUj^g6R%RZKc3(XEup5^P^LNfSNVP}OJok=YxMC&CXEOwMOiRE zDg^6cl-39V45h^<2)eL^IrH9I`wI5uM4r?~y1Vfh{=#>eu#b+L2k@w>6ee@~!COka zoqD3#v{on^xeT`l`I6cC1e-$s!W+cQH_(k2yUn`upw`%F{jIJjz1e~Pfuh*>%g8Nf zw`)E7TZB9O&#Glz$9K8s3^{${byfJw3da$SZm%UOJ{`LHh+q<^Z_I~f+ ze))5OJ}9*&V561jX)c7H%hK*&`HqK;IM^mkM1Ih0m6Eg#U*j_?m+^B#U6Fj|`lm?! zd(}p>;V7{+C#joX_9$z+VAp+_fmIqy(%3EEOyT}}_^={Q><9_j-|5afxW)eFfVz3l zK%#}r5i=>Yl^I-svS07|*!HrI$t{`eY+%&&mkrBoCohpCzCtS1dHWV5#0;_9o{{GA z9p5>|22Q{)CZ6m#g9vmSDOqC41Qp9azXAOi-(d^-pGAY@znzjYiL?qq_~(Xj1s}$rL}E*VM*cSFdXD2 z{I;m*dtb|=3QbinqglkT|7Dc;rv(Mkk(>8!!VMG7THjZGwfU4rxy`QpAc#AkKszu+ z3rn)h9<(H(ve0?EocgOoU7H^Vy8@H0s9YT^OkjB{M1(%$DCg)CCD6 zkdjr7CvCu@MeV-dfu54;6ucz7*=j zSkB?2{F%Ra-wdXcJ|`Ruh-qRRg^f4W}gTvx7H#9y##cWsB)Zu^oDI$(Ut zFYT4~e0KBlWYLVNHuB@L93Ep3)u>rzIzQpvQ(Ji0d=d(h3?TW zMM--mvA$WXk{D14<}s;a(PR>yU}&PGNA(t|DAJ975^lUFu`fZLq~0!kpG1Ujbjw(| zkPb=$QX&xB6gqqev>j3pU7q4vD7M-RRm}ov!J=7w{D>0&l5PPV>2D+e?vVkguoWd0 z?2*C-s_7%P*63Sq^VQs+6`ef_NEAmSc*b!(I+fm7-r~oRqFc6ql%!UL#0u*DCej6+ zAr})OX~s^uWB{W&q@SZb114ctOAks9OdMM^j~J?$nfan^j=XbIu$hIAgOSGIO!hgo zX_O>N7}yp^9iOP+pSZl89De-8Op^41j8-i{c>YuHlf} zApOCRO_9(9ZAGjlIKs2ABHS~8XT~>iGp@Y9PNvLf2PdK)*Y@D0*!U#)vv_q)o{aZ! zf=&lrYeL=1puqytMDgOgrc;Zh&j`kvE+0XA%FgJ(i_?&j&P`oMDBA$^DkT!~AceygUqE z&K1Ku)9n5<-{PG8yjV!6Q&QTAm2PUx6vsEU70AT;-ABX^t{36t?v&eeU&C@nC(9Ep znq1!mtJ5xOQ(NOudS&?JVGlc{gF%_pWO-Jcz+yg&fX}9wAuiQne025zv4{g=-VNsO z^W=5GM3{)!H?Nrcj{X!>kp6MTVQi#kA=Nns5|peo24VdWBdS63XYN;$#!dQJ4qcZC z*A?A$I%i6axIonnhSx|u)J^3L_H?7H5CZBf?6IJ67>n>SDMSv|Ki1!@mve>V6%mg8U1mqeGWG zN#o?y>9l3`Qw;-;)9wzMWBBV8wHRL9=arDyuc2!3Rjqjp=3pQ7e9jwx4Lmqgms_XqF#1?4<+h#&W+P1No5$K34wKf>CRZ^ga?$! z6Kq<-U0MG~!{EypeKe8lYS5#wQw}OSdzkX)c$%3OE>SK)RQ8d4Lr!avf81LYyK1~x zxcovnx_`&MMM>@HUN-NkdE$8Y6c9%GN5Wm+0KubU*?>rsjjp~zxJ6XxO!Ht<1Y^=Un1)LJ%=vxzuocFCrta^xW|gh1@$`#D&b4T#{4w?Rgy z&f^?BuF`$CpZvZY$7TO<#OC-H`RjIOM7#9ax$kBueZflbc!ediFK3+hj&Of{gb~W07|fuR||$^{7Rb zIXof{mCT4Gw#P6H2RdOeo$vk~;*qcLvEp4WpNH+ldyjhXZ-x7{&s)b5n7QCK%#-`g z@16(Q3sIShAnZi!mWr7E!oWz;ZPLK7pvsBmXh)x=y%0N1RuZg31)VL#zM?(3(6;0k z1Cg__zu{}C9+rFZEk3`87=>#%>DlR(tRux!;bae<*X(1;#$bQ4C)M?tj@}udVaWRC)<+tB z6;FQz?W>U9N|S1THYeJ;O@2Oze7`Bms$kulksNE#{~(G3gq%N)@JIteOm|i52{zGw zT`vpu)}K70d5>*^Qe{{}T$i4UsaU#NX%0hSXbjh$%&1|uu0h3arf~*4<*D;-_)CU) zJ2Zj~?*0QWz(*WWN7Va9};F!<_S;rthYyyL5L)O{R*%jelOI} zkui08Z!L!(KtP=XgEW0HhOOmz^vpB5c6OLTPebbAd+K6OLvHitM6N35NUjQOJDw19 z!K90F#AU^+j4Y0cz~&ugXS<#1oK9}Lid{S3c>(S2x}LhRj~K4)w_n<`cuDvutQSuq z4C1BlJkzWfs|vaJuZBcPsN@MTN0ap98A64d$s@W=Rp`f8(A<{+^Ay6f0SgfJKk@XM z^})pY=Ws>;r~$~mN$>|b1?X8zgBl()*Tj45i@~?{y^4L|kH4_)czms99;KiYIHjv* z?)J4dU0E^Uqf=*k880DNNlf8QNsD^pWwS2&y9xE;z}2YPjM*GByuQ)AjQVK-iTUdf z_%hccBvoQeD}sN-BX~a4x=uGmtUaehzkhQn8t7_LmE)f8|MQDad*tdH-7roTFVV+C zW7OHmcb~kE+9RQl+@qkQs8@c3vo6IxOW(yhnOZAn52MZ^0Xm1KXZ1RGtKc?yZ&kK- zB%jRzhwG8x)!@{dxut5?%v9}=V1DurmJ2KVQOmi=A0spikD{FMS>hxP?+L^QdvFEl zBBGV(g;>PQJr<4aY~?1)mzNMb`fD$1yFy$VRRP{ueSHIRyi6c)v$qZ~%AD!Tb- zsoMU9f60P)`68@=4O?wL893#3|8DKJa&A-q?x}0PC8p0f%lNBvg5LK2o7Bl)?3hU+ za6;J{z#4=%qD5;@KKogAN9e(_(e=3gWZB@@_Eb&NF!?tYHV-z^w6XpL21TKJEnNl;Ign zK^!lwiX+^yL2EvhOop>%FuV^pk|R!f?ul0cR@&;#x!N82Ox;vz?~>S5mcq{_d+|G( zoNjJPHn=aESz1S`Y^`K${=8Nep1msE#|KT9G~w-c_@z!WkLIbm!3tbQYz29+Mi8gH z=0|aCRpZ)}SC0JQ2;(#vVTNbsW%jCA);-;mvaffmuVX3`v|?iC#H~G_=gr5G!FYt1 z_!1W#52EA4l*^lzg4?L(n_>(=s6l5Wg25DwvBE3 zaX4#^l6FB23eM*gWe{bOwgdMSu^LLIY6W=rHgTVMq5P!$Rx}~MzBx1zGZAwx{Uga0 z$E%`{lx&?sJfUcWygX4&n_UXGJngOZ2RE-*`k`G`FM5+ovRkB&1i)X- zW6kpm`!!s4O0NwGRVfPkorEanp1tddZK7LT(pv5P$w8pa z$?pue)7iPr;=?&1KYYMYi$H;esL1ROE|7Ifuu&lJt)X zhq9dcnC(QUZk$aDsljL`;Ux+p8=U>f7kcCq*`(&vH$+O9!?=8-JwTpTI9C|Dvi>E8 z=9nT!cbH09!na2I4d~N1PFmKLoju~SSE^pdmG|f?*&g}1VYmJ^5uky_&X8T$TF{GZ zfT=|I67XRzZj!$PZ?~e?6}F3-E>_lOMchh*JYv8?qvGJjx-~x|$bUr8(N>_!W%}yO zpk;>WhxoPVFppU0iCWuvW z4s=d}*Jd3!JCsIW6bXh~NXU`*1E_pOPAyEV2{Xb?(w_RqJoWn^02 z{*vM$lGi&poMAc_!$9j~np_MTIwO(}wj%h6P!n`lx{L$W4OO6j28I7eSs_>@NuCxo z|2#*e#zW}m1yB?2>({b`VsRSw_010QNBo|^65{@YY*IB)I3drh>B4@oiok=7Km|oE zcmtFx&KN!&>$I))_uBImnoh6T`1n zTn)F|gAeOBM6N`M?zB#ii50uYtn8I|>^7W9xO_CfI)!%cqk-rh5?VAtRzx0U%@gFu z{g|F(e`}bNdJUU6D*8<9l{{~AUbLMG>jTiG3W;_`B-h^AFUfxjPdY>M4F(9s9ji-mn!7TM8@ts1x~i!eW1G2E@a_jz~E0tZ%{e}cVV7L0FGci-!V5Nr9W zqc)(3tf^cYAbpLAP8&{38MyY-8aUkR!fL%)6%dYZq-Sf4CB_&QkWB$_H3NZH%pRgm zv{h1VngeG)HfS9wy|xpaRM-o5w;Jd8-#zc|??qi~wc57s2mE5riS#EghZ3TAT5VTt zOJX3soi~@m5b>Hz3omS7Ti=eec;1(k*ZIGKzkgrxrr!G#OfsLG0BMhmk81w8tnJE& z#D^$)#$L>|MwnNPPHsG>j&rcG9izp*$T;#=4@>hJBtV@BC)ZsRe!u^Lf~7(M!YHWm zY`-Cd9TaLV8`Y5eH8V{cCLIwu1!-~rn7R>rgj?g%jM_kNy@_1*MTErex2oE zEazJYlx?4}Yy@)#uOx)ix2a}YJJhpE5kF>5Lzr{}Imn$DnT?1>EUM<~DIN zT7y4SZ*$XEm2bA`Z#lx@fZYsggiQV%ksnceK!)HgYrwToEzs0IjSrZKGF+ucqb#nc zwoI@wlJG04{<%x7qQgDxC0k3B`Il2Opa<8Jn`YosxJTru9Sg7;`>fK2x{7O6qfJ z{@4q6aLQ>Ly!6|4+E))kgbOkkYV8{1%9^3jEz~8Ieo2VxQ{K_MlGaSkPs`V(*!;Oc z$@i0wikF7J+(X0m`)>qJvVnYq77g`sdRF#O+1TwiADmBfibX1StjfdwqE3(jEBsPG zw+u30$;%1J`w_y9PyCom=!zJl&$hJPT%mu#bCRR=e)}v{n=9M*K)0-78=vjmnD0>g zK-hz~BmfF=x>-Ad#$Rl_q05nPWxRQk-xrwqCu$?+S@vXfbz9-(ccs)ij~(foo#Tln z%iEik-03cYa6`ys!5mGElM>iwIR}*&k)&XWjuy2OF*p=VG9NfdZ3MH1&9a&Ao}jJ} zdfHe^mqC2yE0$V(xi9~tphQ0y*Pke~udVRb`j|{D#!-}XeRuY{JW7)|x9}a$A(SNX z7_!PMVGHQi^zKR3R8Vz;A zXg>u(O~F3`G?$p~q;+~wURg_9%(b%|mR341-)jfRD>a@(h!&jXy5pzAf(zsjO7Ik$ znn|3L!Z&ViZ?TyRCp&WAyM5KzUTXANcbhh{49c%!MuXWZeayCK4&eAaYtS7Jh*njz zCXStemAc`*XfXzjR(H?tr$ua%3nFPcri`OxdB~+yd5VbBBDk+euEQU3X3SW5WE?-j zVlSl~{#c+)h{zizz2pS!wvPC~w2bw1LAMp|?>uik_z%`-icN)9l*G9ymy(xR`p#s^km(3~r|n2WWvls7aQ}Ih}mrF{%20d9ouv0y5`({=Tlzb`0?O z8ZOg6p)XjZ9j70g-|=?g#}mx)>z$~2kA98<6@02V&Ic*I_gSr$e4xKHyw<*}#?>oz zY67b;yR^52@{;0)NKXLse*`?#py)a@diJ0WBnO6O>Cns|@i*V%NgD&FmXjVuR)Q)J zO>^v_f&x#uUu`s5KKx*jm7Cyro;z7G-FI&Y3OY7~gdcQW*1aBdT-M)c9^|NOCEM@& zKMH}stc|;+N}ctn^OgR=R#vBo$1ekx{$AJBTvjBN6-?rQVm5W|UCq0mZ#Umey%sua z(QI}z>$E#&-l$pd3$dvNe45P2GkYM&(s5sdWy^H> zw_kXh%;~F@?dB1fhX;Ag<{Xs!9XE>CrS^Yk>CTI5o>=LQHV!8nOs>NoZZzs|B8I~0!(9)D3*|UnjEpRn*FIf$04dM?f z1|L<&P$0BqGh<_GLoL$ed3#tBj89PHObJfb-Kbl?hhnp$rLl?#vv#QVN=}E;BYD`9 z=f?V!EGh7z#39~KDE!Qe9&uh7=X772zx!K}q~ke#R8nAY>sxk8-T6bUiTkb-%Mkl< zIfxOXE@{qtnNIu`0@%uaoxLl#2oCXpPR*sB7siQ@`a)9`$RFux_)eux$27@6&#-Cg z*;T{bG?`x(R_t~+E!uLEhl_`+gX>^Bsa%>1?~r$ea${s^=t|?c;07^GrEHw+VMcue zsuirI*3W9`icd?!o!;Ls6;4X4bXng5s@B)K#(8*M^`5`{&KmWiGXRP=xn11ys=R{i z4T{g;J?894&K2vfUf}VckyYMdyqYnNwqErIuc$f95fkX2qTtAx_9|UjOTRO+Q*wqmZQ^#^c zv^lXeGF9yUb_{AO!4_lx(&A$0pU6q|Z;vud!b~e!iag~mDiJ7_<;Fy6NR>mhP%4${ z3*EK4VyT?e|BjD-;8)aBw$lzoS1VAjDF5xzVmecHfVu7apw%uo4o%^1`b~wRaN&zJ zLO!^a-Q~*k7qiiIiZ$<@CKZ;ztkrxD@*%8R{|)t-P>6zW1&5p1H;QWm@S`p=HHq1Iy7A`VE5Yf|?R$m^x`;o1}L0v9aLB zAAdYfFBuK}Gl!5|?t7$D*ge}=vfXqwAK@;x@8sEw=z7??MlyxQ!b z^4RP+ao9(0>Cv5_qGbr0`gMz_QeQcHpaOI7vI)FZl8YrdqNoz;43S2#n={5M_*v=0Kv$I0{qlMt|TRD3O{}Y1%-NJvzsxRtOt9 z@CI^roW*i8@%!lJw5&c=*wRUYLv|u}bKg=1+CYEmOou6pT$88}#LU<~9I`C2TQkJp zd(GooZn46)vHF}L@uQTj3sUMRr$`;4(mYs7oj6v1`Ef~PH5LZIk2;|xTB7jNf(YTG z)ShpFUptw)Y&k9DghB}-dJLRa(!F_pbZ7y#IM)5Y1xw~bRqb;0%0+9MB5!@8+~QJ9 zfaqwpH6v+o1H3nnF0jd`>=9^lK1lI@x7GjP7=2zj0LEK>_`A7LcZ;{Cz(mP>eZrG} zAA~AOWw^6ic_`y)J|6FsObE19+>aS^DKvO&4`T8pFNzKCV$Um+Hm6Pw9 zBxc>lL???Ge$2c=V?ytIWB~8{W{=&Wy#Cu3?FNw);oJLmCx_t4qbZ==W;vE~F+NrdyL}WsR)LDVHE$(YoGc3&y9`cAJ)VFxP878EAxL4 z7N5EJ1TFqE_CMGNR(6(uJ!fWQ{d~;I!0^9e68|h7TLTLi9-dF|<6kBJUj_JYn8d#q z_VfhUI zFIa+!i52Fbl|#(j%9x4pGi(1lEb-5P|163Bge6$mnA!g2N-(kiLnrx64l;K5ytmQ^ z8H*Sj+8P=EgQsu=IT-6(!?=E}(6F}BR>$T$1o-r~NP6yGa5#H9zQu6Jr9U35*snD^ znhfQPWOoB#=o!G7DqrBMF*|BrroUeEDjGLRC^=jy?;CD||cn z#askc2#lzhOaKqX%HDONU2dV43B5k8<01WK!*S!LWAep5(&Igcz5*!*KnO-jm&NHF zc@#zJcW}2aJ`o(j==HVY;@z=mqJBUfnh`$TeXHgrqDGaZ@4e?_u*OCgXuL`xHVt_siwe!lSrZ z*de}_`FIg)IKQQ5>#^+g#ZM3DS+@ah5e63cqaW{hw-19}g@!sF8%42QcR!OZ{zS3w zt#86h6R4$mEvU=l1XcW`py%k}!0MRdQmLBx^@ ze>SQ!*0_YU`O&*VX_qAN zl$)@MZd_iGj`wcw5NzuFqe#|GJ*CFs48qEd-L~5Yxn*nwf0g!&iJnG{-F`b20)2F+ zDj`+{E|!un_Pq3#4a!%h<+_IX> z2hi7(WY24s(8@58oA#UvSv9h$Yj-Ljlw*$G{h|q`K2O@>W6E0Qy()q1X?c-Vge{?li(8_7Evv3LSi=$=E%l zAt)F>cR?5rKarFyk)hUnKl>PTiGTx1+y$rHgDJH@)X>1}y=Vr`+nQ9U`*XuNt*`rI z;phuG?;jgA>)o-93qM}Y*PPSMx#gj_)*#P}PBj|t^RO;p0fddB7v4%XX(*y$5EQ*6mzL>7S z-eL5PVVfB2z@cJnJ$8dJyK~^$ghwiB#%9FQOoxr@DyUj#8YDGl>SH!JoD~VU;@|iP zO$cQPfYS?oGb7=U0M{u+3^4@JoT@cE)wzPsi9ET6fyBAzQ;fJ= z=3Gd3YZ2HB??Q$Wr#5rio1Lo|LKGGXkNrI{T9E6evUCs}`ZU=*11R4zXj&v%pBv0< zxlXPSl7jR0!wm{Mt-NPZCeP#cd(0G;nc0~XM;~U`dp%~o*569>Kn5)Hr;-Rc^yUro1*fQbto@$tBP1HN`+~W z0`k)Jw54PulHXv?9XIx~nkFiHOEH%R(M(yhr5!QP`sEipXsD(KQ!RVkgd}L>Msf6_lX$d~#F+F_vBS;Q36s(BBy;Ecj?QV~@r#+J zw3F_`tgLBAH9>%N4fRmn1+Lox5fIM^v5zripBB@0hfiELXj8QJ@TVu;`6D1;QuKe= z%^A}At{WwPsgmvr^icORCLs0j?^9sq;D_`Ed&4Tsb2qQuqMeFr2 zFg>nHoBUh$EFCJrw|xh1BCJn)9;izk*b>vDltZtiAt71{#4tphVCmF{5%m&wBduZI zcBU%nqKKvMu>I_S8&VnC?A-tZOi}-NQ*Rveh9%Cjh(EynP(@NXu&c_(Cm@zrV= zh6o36W3~K>k?1`t{S(@IFdC5Z_cnF0Bf*h}5>?M-0dTRQUza*^T7O7%k>0_LNR_IW+ofZL zT6IQYB_ZW7I^=(qhRX*itVTcstl6y`eE%0~-vDJvvu0c9>auOyc2#%Twr$(CZL`a^ zx@_CF?W$KjZ~nP=?%bJo*LyGH)Fdv zT0j4p%?G7D1nCe!yR=uV0w@JbUo|7zGOo(5Kc~YA8wB;Pb;~-2IBRh692oc@Mk0%L zRCGrTF=s~2O6N(C&CAX$Fkp9G z6Dmk9tAx9N#%S&NgHVj;I33NBM;H|$(cyC1pOfd*mq$urJ=;14(1IQe!{ z#ZFAa59mrUs06@s&~?b2u3=n2Pv|@9soR{H}D+$==PWG^{;JGRn!pz?LO)) zR+Wv#Xb=e|{XEQj?CHIOMG~~w;q*<22qVB2P<3 zzmB%>B$t+8x#s8@UV^uBpQR82uiC4agF(1?^RhFAZ*T0!Tch{IOS6NO4EFX>A2z4J zDFwW%n*${tZJ>jg3<7*vt?>9-Ygr7tn0>gAMzILqBmA?Juw1ov zA9pv`lNDRufkRz@SWIc*{}p@D|3M6YEqwn50sa*uKtW1=Yezd%Lpv!$XBqi_Vg<7P^1LOkX8OlMpb^dAJfA#ZM`>*3a^!4YPf877H z`m5}J=lMRsI*~Vq*Ae@*hy^&(-}6YW>^UpMm^4()wei z`1clmY<~*=y5hf(7Cj>?-QO(y*qQ0RaNqw4Y6ZH1>nO~(e6k;Is4~VcKMt3tTExfv zP#TI!jR7IzQ}HAEfd@z+o(l)8GA&jQI}PBcRuQJ8rCCbAASwgA%&L`rdLcUr@-FqLb-a9mGg=0r0VLk|J~c3=bY!}rN(OFiT1?cxO!KmF@NiY5Rc_M zv*z(feIlHrcj`FPLO5D6S%AR{pb n}9yR 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 +#include +#include "test.h" + +void runningWithOpenMPTest(); +void computeLn2Test(); + +// **************************************************** +// TODO: parallelize this function with OpenMP +// **************************************************** + +double ln2(int numTerms) +{ + double sum = 0; +#pragma omp parallel for reduction(+ : sum) + for (int i = 1; i < numTerms + 1; ++i) + { + int sign = 1; + if (i % 2 == 0) { + sign = -1; + } + sum += sign / static_cast(i); + } + return sum; +} + +int main(int argc, char *argv[]) +{ + runningWithOpenMPTest(); + computeLn2Test(); +} + +// Do not change anything below this line! +// **************************************************** + +// Verify that the program actually runs with OpenMP +void runningWithOpenMPTest() +{ +#pragma omp parallel + { + int numThreads = omp_get_num_threads(); + check(numThreads, 4); + } +} + +// Verify correct functionality of ln2() +void computeLn2Test() +{ + check(ln2(4), 0.5833333333333333); + check(ln2(8), 0.6345238095238095); + check(ln2(12), 0.6532106782106781); + check(ln2(100), 0.688172179310195); + check(ln2(1e6), 0.6931466805602525); +} diff --git a/ln2 b/ln2 new file mode 100644 index 0000000000000000000000000000000000000000..8b6e69387cf2b1ea0608baa133aa17bc2d10241f GIT binary patch literal 20264 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. + * + * + * + * The framework defines a function check(a,b) that can be called with + * parameters of different types. The function asserts + * that the two paramters are equal (within a certain, predefined range for + * floating point numbers) and prints the result of the comparison on the + * command line. Additionally a summary of all tests is printed at the end of + * the program. + * Additionally there is TEST macro, which you can place outside main to group + * tests together. Code in the macro is automatically executed at the beginning + * of the program. + * The file also defines a class InstanceCount, that can be used to + * count how many instances of an object are still alive at the end of a + * program. To use it, derive your class from InstanceCount and the + * message is automatically printed at the end of the program. + */ + +#ifndef VERY_SIMPLE_TEST_H + #define VERY_SIMPLE_TEST_H + + #include + #include + #include + #include + + /** Simple macro to execute the code that follows the macro (without call from + * main) + * + * Define a class, that is directly instantiated + * and contains the test code in the constructor. + * + * Usage: + * TEST(MyTest) + * { + * // test code + * } + */ + #define TEST(name) \ + struct _TestClass##name { \ + _TestClass##name(); \ + } _TestClass##name##Instance; \ + _TestClass##name::_TestClass##name() + +// Use a namespace to hide implementation details +namespace Test::Detail { +/** + * Make it possible to print the underlying value of class enums with ostream + * + * The expression typename std::enable_if::value, + * std::ostream>::type decays to ostream if the type T is an enum. Otherwise, + * the function is not generated. + */ +template +std::ostream& operator<<( + typename std::enable_if::value, std::ostream>::type& stream, + const T& e) { + return stream << static_cast::type>(e); +} + +/** + * Convert anything to a string. + */ +template +std::string toString(const T& t) { + std::ostringstream ss; + ss << t; + return "\"" + ss.str() + "\""; +} + +/** + * Convert bools to string "true" or "false" instead of 0 and 1 + */ +template <> +inline std::string toString(const bool& b) { + return b ? "\"true\"" : "\"false\""; +} + +/** + * Comparison function for different types + */ +template +bool isEqual(const T& t1, const T& t2) { + return t1 == t2; +} + +/** + * Double values are equal if they differ no more than 1e-12 + */ +template <> +inline bool isEqual(const double& expectedValue, + const double& actualValue) { + const double epsilon = 1e-12; + const double distance = fabs(actualValue - expectedValue); + return (distance < epsilon); +} + +/** + * Float values are equal if they differ no more than 1e-6 + */ +template <> +inline bool isEqual(const float& expectedValue, + const float& actualValue) { + const double epsilon = 1e-6; + const double distance = fabs(actualValue - expectedValue); + return (distance < epsilon); +} + +/** + * This class realizes some basics of the test framework. + * Test summary is printed in the destructor. + * Apart from that, the class implements counting of total and failed tests, + * comparison of floating point numbers within sensible boundaries and prints + * the result of each test on the command line. + */ +class Test { + public: + /** + * Test class is a Singleton + */ + static Test& instance() { + static Test test; + return test; + } + + /** + * the main entry point for tests. Test two values for equality and output the + * result. + */ + template + bool check(const T& expectedValue, const T& actualValue) { + bool testResult = isEqual(expectedValue, actualValue); + if (testResult == true) { + registerPassingTest(); + #pragma omp critical + std::cout << "Test successful! Expected value == actual value (=" + << toString(expectedValue) << ")" << std::endl; + } else { + registerFailingTest(); + #pragma omp critical + std::cout << "Error in test: expected value " << toString(expectedValue) + << ", but actual value was " << toString(actualValue) + << std::endl; + } + + return testResult; + } + + private: + /** + * On destruction, print a summary of all tests. + */ + ~Test() { + std::cout << "\n--------------------------------------" << std::endl; + std::cout << "Test summary:" << std::endl; + std::cout << "Executed tests: " << numTests_ << std::endl; + std::cout << "Failed tests: " << numFailedTests_ << std::endl; + } + + void registerPassingTest() { numTests_++; } + + void registerFailingTest() { + numTests_++; + numFailedTests_++; + } + + /** + * For statistics + */ + std::atomic numTests_ = 0; + + /** + * For statistics + */ + std::atomic numFailedTests_ = 0; +}; + +template +class InstanceCounterHelper { + public: + ~InstanceCounterHelper() { + std::cout << "The remaining number of objects of type " << typeid(T).name() + << " at the end of the program is " << count; + if (count > 0) + std::cout << " (NOT zero!)"; + std::cout << "\nThe total number of objects created was " << total + << std::endl; + } + + void increment() { + count++; + total++; + } + + void decrement() { count--; } + + private: + std::atomic count = 0; + std::atomic total = 0; +}; + +} // namespace Test::Detail + +/** + * Count the instances of a class T. + * Result gets printed automatically at the end of the program. + * To use it, inherit T from InstanceCounter, e.g. + * class MyClass : InstanceCounter + */ +template +class InstanceCounter { + public: + InstanceCounter() { counter().increment(); } + + InstanceCounter(const InstanceCounter&) { counter().increment(); } + + InstanceCounter(const InstanceCounter&&) { counter().increment(); } + + virtual ~InstanceCounter() { counter().decrement(); } + + Test::Detail::InstanceCounterHelper& counter() { + static Test::Detail::InstanceCounterHelper c; + return c; + } +}; + +/** + * Check if the expected value is equal to the actual value. + * Result is printed on the command line and at the end of the program, a + * summary of all tests is printed. + */ +template +void check(const T1& actualValue, const T2& expectedValue) { + const T1& expectedValueCasted{ + expectedValue}; // allows conversion in general, but avoids narrowing + // conversion + Test::Detail::Test::instance().check(expectedValueCasted, actualValue); +} + +// allow conversion from int to double explicitely +template <> +inline void check(const int& actualValue, const double& expectedValue) { + Test::Detail::Test::instance().check(expectedValue, + static_cast(actualValue)); +} + +// allow conversion from int to double explicitely +template <> +inline void check(const double& actualValue, const int& expectedValue) { + Test::Detail::Test::instance().check(static_cast(expectedValue), + actualValue); +} + +/** + * Check if the entered value is true. + * Result is printed on the command line and at the end of the program, a + * summary of all tests is printed. + */ +inline void check(bool a) { + Test::Detail::Test::instance().check(true, a); +} + +#endif // VERY_SIMPLE_TEST_H + +/** + * V1.0: Creation of franework + * V1.1: make check(bool) inline, automatically convert expected value type to + * actual value type + * V1.2: added possibilty to count constructions and destructions of some type + * V1.3: tweaks on check for int and double types + * V1.4: Adding thread safety in OpenMP programs (not general thread safety, as + * OpenMP and std::thread might not play along) + */ \ No newline at end of file