From 6527d52c3dcac5df1c7c61812eb1eec507aa15cf Mon Sep 17 00:00:00 2001 From: Tue Herlau <tuhe@dtu.dk> Date: Sat, 17 Apr 2021 16:07:11 +0200 Subject: [PATCH] vesion 1.6: Add sqrt() to L2-norm test --- .../__pycache__/unitgrade.cpython-38.pyc | Bin 13887 -> 13899 bytes .../unitgrade_helpers.cpython-38.pyc | Bin 6902 -> 6936 bytes unitgrade/__pycache__/version.cpython-38.pyc | Bin 166 -> 166 bytes unitgrade/unitgrade.py | 2 +- unitgrade/unitgrade_helpers.py | 8 +++++--- unitgrade/version.py | 2 +- 6 files changed, 7 insertions(+), 5 deletions(-) diff --git a/unitgrade/__pycache__/unitgrade.cpython-38.pyc b/unitgrade/__pycache__/unitgrade.cpython-38.pyc index bd16532967d3b50cf89e3923950e92ac07aa25fe..79d28c2c207464f86831a1a24c58a1908f9fbb16 100644 GIT binary patch delta 1519 zcmdm=b2^7Nl$V!_fq{YH;q$5lnT@=wc^Eq;@8mIdDq&o}R>P9QD9o^saUo+ZYYl4+ zb2dv+O9^`lQw{TMh7{%+*4YemS(+Ic8A{kwSZY`na4ck)%`le<BvQkW#W`7nw^D_x z$eMwHp@@xvf#DW&Vp8!f_Qc}EqN2pgTP$fgi6ysKiVKS-@8>OK6q#(u_fgFUq}Ufk z*fB6LtYj^c0I~f*gg=M?8x}BmqM-2RXnqAo0aW!x!IK{v3U8h#pvc4q(F0a_Lx_cm z(P#1=QH9BWMfPz-GcYh{G8XxR<*td^GQ!kKibt}64UC*zA#TeUHF=wOxD42w7?9nu zAV07t=NA>FCYRh|Of5<TnK0Q#;*L-hNIn5%E)&GX8DJ?}$pVK^kW?~=Py!KwAR+`r z*n)^K5D^X{B0&V$oJ<fa3q)8jFfdHk=Mvq_B*o0km@qk?O=7d0tQRA1Jjg2cA~ler z+{vYKI_h8>3PHkb5Ep2GT+5bUT2fG2Qj`bcFcudTfWn6{a`GKHZ|+=>W{{4e$jSFj z#l?zp7#J9iFfcF_gCdKAk%OOutte-*p_J_A8hI8b#;VDUigJuilNTuZvQ>lhHbJzN zGcYhbMrdPV<YFo+pZt(ncC)QgA|qqX<oU|tjCGT@D^C;c1Zfio5uhYj#0_HAO-@ot zk*)zd(DN2!c@c*ELlrH?`pG=17K~k!T~&`T_D$weljF_?X$A-BM36g}idrZ8s7W)n zZq87f%%su=GLJnywInSwC$*>%q*fFp#8RG;SyUtf;ulSp*EDCF1Y-72j?t8J2E|_y zDE>8hAVD}4q=UU6u`(w=F{Q`}q;f7uh^esn7Gw4;#=xRp5SO*MB(bRE7Gq&i87O!+ zU(npZn7s(Dn!BJVH90@GptK}4MU%5=K1iYuM1WlZx3tI}BnI{sD9PO7fZAKE$qsSN zN{~FrNkz*+wlc=wV#zE?&4pOXxM1>s?L@};lM{8c85e*8guQ4AC|fg54pbB7<dOsP zk{Ks2;E|YoU#CkRoPt=2%s@u5q-Ex%6!nA5FM_0?{K*}<T8zb$H|r`h7H__;%fZN) zG5LX>hy)~_5{tm`2PUAA$fG}z7Zi3yAP;G>6y;A|rEknwGWnjqEMo~M5lxmfxTU!b zWCtjD6|sXXX3Q&E2C|R^;=_X=S&%@HBPbvzU(jTkY;4%fcxdu=Llwqllk?fcnTnQ8 z{%W{P@(@VrNe}^Y@h$d@#Nxz~lA@who3|L1GJ1fLagi)YS`I`wf{0Tf8(E7I^U_m` zz}nA(M8OftTAY)bT2OQtBya}gAZRXL1#$-CiOH=dmW&4`?>CX+2D|PYNZkogAlDb| zXJB9mWMp6{=3ro8;9%t9<zVID0gGxX-(ruCPsvY?k1vV?>0kmmfTJ`ov!o=oxa1aV zUTJPYCAefPng)^wx%U=RW_}S1h*tq3K*_jh2Z(hHL|g|EU>CFJRu<)#=1s0LbyNZ6 cTSyWIWyPXakRnjr7Zrn8B_Lw|<ol)x0ErxfH2?qr delta 1504 zcmX?|vp<J7l$V!_fq{YHlU{s+@J8O%Jd90~3;ARxU*i$8sbNWB6lPe+Sj$?&TEm>p zQdC#MmcmrSJewhfxrTK%!(5hTMn;AbwiK2cmIdq!8D=xgWde!RFl2E|*5j>Y<ea>M zS8nnd-U3Fx$+mnS6}=f47>ayAgdGC|!%Eg72@u;CMEHRS>&a(?BsQn>D=-S6DlH1y zJYB$qi4CH3^F<+XCJvAaO~xYM$rpu$Co_v4;fP{jV9;bN@&gHMek5wk2vt5=RXman zq`D|#a*MbvW8~yR;^8u2qoP5!#xO82++t78FDgn+F1f{+T9g1XVX}wB9id2&d_2fp zCWu?p!BU=*1r{M7sU#4g1R?@JL@<c31rebjA`C=CfC#WT86Z~X=8uvJ%#87q^VuXe zYsq>s^2ULTXD?C%$>vOMl+&>Wn_2)8W`o$O0dgT*erZWTX-QEoh{IT1ln>GXin}5( z!42X@OnxEf&7A{cg7g<fO#WaZA)3v=z;J|tfuWd<fq{X8k%OOuttfl)LuQf9_42$- zjFppn73CNkC$CZTWvc>dZ3OEoV_;x-jL^lz$i-AtHu)j5>}F4;L`KPKkTaOlOCYu* zoKQRYu<|s~4v;zGAOcw?PbEbftdG(27Grr4hWuL<EylXZ5~>!Aos$Dqk1+O57E_bs z&H@<&4&(_Shsm}uFfhCZIgAhN9Tr9?Wa8i|YS~<(HknDK734Vf^wg5H%$(Gs29N=w zAR(6Wl+2<c5fHy{vbLr<+e8qvZ*qpFoHHnzi$KXllLr#&Q$RY{3lb}H@)J{voIon) zfP|O|i*GSz-(n0b>H%?Ci%SxVN^UV07L{&3sd<>Oej!{XcR^8Va(-?>X-R5|CTGz+ zkVG$t0J{KgVUayZ4D3x%s=CDiwX;~09paJ|AbF5;ik5+FWQ@PXl39|PTT}`X2L~{i z04IU@leu*g8Rt#T)zN004-T)%p#06qz)*}HUR-iTlP90kSuPJwf-FU5Aj4VGGV@Z3 z`amWZLXu$K<SDvZj75|8>nbxAZGNoF!6=pvl3}{VnwFEFSaORwGp|IGsi=A~qrMnp z?PLl4iM*h2ECP8@lcgwc@-}^A#^TAZ^ko@~LCJ1%y*%e+RfAh9TS2yf5@iuP$ZE#C zqNN~%Ss=bX0FqrgS=n$t<H5;?4OJMIPR?f&XDV7cnbByO<Ux?^2@nBt<}LP&#Nxz~ zlA@xMn-3V3GR7PR$;g5TIS}CpB2I!VVJ%9`OHVBVYd-@L1;;6CaZYM#LD3<Qz-f>h zp!t0zNB|tTU;-S%$0tuTv1HlLz`!txOPm|z;-a%4Wye9Gt-g<efgunS+8p52$;HdT z%E40v64g|`#U3A@lAjzOUlco8-&9_ADo7j1k++yK^NUzOymAl$O1?$gL9C-7;u?sU oGr8K-M+KCXA?X>EJ&QnDp$HVeMMWSr#UNte<PRp|lbOss0W}<Ef&c&j diff --git a/unitgrade/__pycache__/unitgrade_helpers.cpython-38.pyc b/unitgrade/__pycache__/unitgrade_helpers.cpython-38.pyc index 8a97ab0838eea34ae10999be8ca134838931f8aa..bed82f87d21feaedd5ccb707a1ea1b71a1d99ad4 100644 GIT binary patch delta 2307 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 UqsiohQhJ;!92^Xc42%r_04PQ>dH?_b delta 2280 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 diff --git a/unitgrade/__pycache__/version.cpython-38.pyc b/unitgrade/__pycache__/version.cpython-38.pyc index 57989453481719d2c5051bcb147d601d4104e23f..8dc5bac8678643c646bd1057bdfb5299c1e65b24 100644 GIT binary patch delta 24 fcmZ3+xQvlIl$V!_fq{Wx>&vQ%+{TP%6YbLhMo|VR delta 24 fcmZ3+xQvlIl$V!_fq{X6TP1!Xw=tvXMEi6AHd+Lo diff --git a/unitgrade/unitgrade.py b/unitgrade/unitgrade.py index 9bbd6e3..d4f69fc 100644 --- a/unitgrade/unitgrade.py +++ b/unitgrade/unitgrade.py @@ -98,7 +98,7 @@ class QItem(unittest.TestCase): if tol == None: tol = self.tol diff = np.abs( (np.asarray(computed).flat- np.asarray(expected)).flat ) - nrm = np.sum( diff ** 2) + nrm = np.sqrt(np.sum( diff ** 2)) if nrm > tol: print(f"Not equal within tolerance {tol}; norm of difference was {nrm}") diff --git a/unitgrade/unitgrade_helpers.py b/unitgrade/unitgrade_helpers.py index 3760f82..45adf1b 100644 --- a/unitgrade/unitgrade_helpers.py +++ b/unitgrade/unitgrade_helpers.py @@ -51,7 +51,7 @@ parser.add_argument('--passall', action="store_true", help='Automatically pass # const=sum, default=max, # help='sum the integers (default: find the max)') -def evaluate_report_student(report, question=None, qitem=None, unmute=None, passall=None, ignore_missing_file=False): +def evaluate_report_student(report, question=None, qitem=None, unmute=None, passall=None, ignore_missing_file=False, show_tol_err=False): args = parser.parse_args() if question is None and args.q is not None: question = args.q @@ -68,7 +68,8 @@ def evaluate_report_student(report, question=None, qitem=None, unmute=None, pass if passall is None: passall = args.passall - results, table_data = evaluate_report(report, question=question, show_progress_bar=not unmute, qitem=qitem, verbose=False, passall=passall, show_expected=args.showexpected, show_computed=args.showcomputed,unmute=unmute) + results, table_data = evaluate_report(report, question=question, show_progress_bar=not unmute, qitem=qitem, verbose=False, passall=passall, show_expected=args.showexpected, show_computed=args.showcomputed,unmute=unmute, + show_tol_err=show_tol_err) if question is None: print("Provisional evaluation") @@ -95,7 +96,8 @@ def upack(q): def evaluate_report(report, question=None, qitem=None, passall=False, verbose=False, show_expected=False, show_computed=False,unmute=False, show_help_flag=True, silent=False, - show_progress_bar=True): + show_progress_bar=True, + show_tol_err=False): from unitgrade.version import __version__ now = datetime.now() ascii_banner = pyfiglet.figlet_format("UnitGrade", font="doom") diff --git a/unitgrade/version.py b/unitgrade/version.py index de49d1f..32efefd 100644 --- a/unitgrade/version.py +++ b/unitgrade/version.py @@ -1 +1 @@ -__version__ = "0.1.5" \ No newline at end of file +__version__ = "0.1.6" \ No newline at end of file -- GitLab