MPL Bytecode Compiler Code
Micro Programming Language - A Portable Language for Micro Computers
Status: Beta
Brought to you by:
buzzphp
/* SOME BASIC STATISTIC PROGRAMMING EXAMPLES HTTPS://DOCS.PYTHON.ORG/3/LIBRARY/STATISTICS.HTML */ ##LIBHDR DATA.LOAD(FN;V,F,S!.STR127) (F=SELECTINPUT(FINDINPUT(FN))) ? [ V=0; READS(S$) @ [ V=VOLD(V,VLEN(V)+1); .ROFS(V!(VLEN(V)-1)=VNEW(.REAL),S$) ]; V ] DATA.PRINT(V;I;S%32) [ I=-1; ++I<VLEN(V) @ WRITEF(" %S",.SOFR(S$,V!I,2,2)); NEWLINE() ] DATA.POINTS(V,R) .ROFI(R,VLEN(V)) DATA.SUM(V,R;I) [ .ROFS(R,"0"); I=-1; ++I<VLEN(V) @ .RADD(R,R,V!I); R ] DATA.MEAN(V,R;N!.REAL) [ DATA.SUM(V,R); .RDIV(R,R,DATA.POINTS(V,N$)) ] DATA.MEDIAN(V,R;I,T!.REAL) [ I=>>VLEN(V); .RDIV(R,.RADD(R,V!(I-1),V!I),.ROFS(T$,"2")) ] DATA.SORT(V) QSORT(V,V!(VLEN(V)-1)$,.RCMP) .(;DATA,S%32,R!.REAL) [ (DATA=DATA.LOAD("XSTAT.TXT")) ? [ WRITES("DATA ="); DATA.PRINT(DATA); DATA.SORT(DATA); WRITES("SORTED ="); DATA.PRINT(DATA); WRITEF("SUM = %S*N",.SOFR(S$,DATA.SUM (DATA,R$),2,2)); WRITEF("MEAN = %S*N",.SOFR(S$,DATA.MEAN(DATA,R$),2,2)); WRITEF("MEDIAN = %S*N",.SOFR(S$,DATA.MEDIAN(DATA,R$),2,2)); WEND(DATA) ]; VUSE() ]