Files
Landon Curt Noll 09750f8899 release winning entries of IOCCC28 under the year 2024
Congratulations to:

* 2024/anders - Prize in sound coding - layered music generator
* 2024/burton - Prize in pentagrammatology - wordle hard mode solver
* 2024/cable1 - Prize in bot talk - LLM inference engine
* 2024/cable2 - Prize in murky waters - salmon recipe
* 2024/carlini - Prize in perfect timing - Intel 4004 emulation
* 2024/codemeow - Prize in tray planting - bonsai generator
* 2024/endoh1 - Prize in patient pointillism - slow ray tracer in CPP
* 2024/endoh2 - Prize in solid body physics - rotating rigid body simulation
* 2024/ferguson1 - Prize in diabolical logistics - Oregon trail pact with the devil
* 2024/ferguson2 - Prize in yil-tas - Navajo code talker translator
* 2024/howe - Nice accent eh-ward - mini vi
* 2024/kramer - Prize in linguistic arithmetic - natural language numerical calculator
* 2024/kurdyukov1 - Prize in phased periodicity - phase of the Moon
* 2024/kurdyukov2 - Prize in art restoration - JPEG artifact removal
* 2024/kurdyukov3 - Prize in virtual quietus - gaming VM and doom
* 2024/kurdyukov4 - Prize in embiggening - encode without literals
* 2024/maffiodo - Prize in creative interpretation - Jav\*script interpreter
* 2024/mills - Prize in ℤ₃ - Infocom v3 story interpreter
* 2024/stedolan - Best one liner - icon from MD5
* 2024/straadt - Prize in imitative rebooting - OpenRISC CPU and Linux
* 2024/tmarrec - Prize in cyclonic coding - 3D tornado simulation
* 2024/tompng - Prize in quasi bijection - vortex encryptor decryptor
* 2024/weaver - Sur prize - rickroll

Ran `make update` to perform the above.
 	new file:   2024/burton/.entry.json
2025-08-02 14:43:07 -07:00

32 lines
1.7 KiB
C

#define JPEG_INTERNALS
#include "jinclude.h"
#include "jpeglib.h"
#include "jdct.h"
#define O S->comp_info[j]
#define F(a,b) for(a=0;a<b;a++)
#define C(j,v) g=z=(v>0)*7;A(j,8,I[v+m+s,*2)
#define A(j,n,v,w) F(j,n)q=P[a=z*8+g]-v*z+g],p=T[i\
][a]w,t=r*2+(q<0?q:-q),p*=t*=t<0?0:t,u-=q*t*p,l+=p*p;
#define L F(y,h/8){JBLOCKROW n=(*S->mem->access_virt_\
barray)((j_common_ptr)S,src_coef_arrays[j],y,1,1)[0];F(\
x,w/8){JCOEF*c=n[x];UINT16*V=Q->quantval;m=(y*s+x)*8+s+1;
#define D(x,o) O.dct_table=N;jpeg_idct_islow(S,&O,c,G+x,o);
#define B(o,n) if(i o 7)F(z,15-n)A(g,n,P[b=(n&9)+8,-T[i][b])
#define jpeg_read_coefficients(A) jpeg_read_coefficients(A);\
{j_decompress_ptr S=A;int w,h,y,x,a,b,g,z,r,i,k,j=0,s,K,m=MAXJ\
SAMPLE+1,f,E;JQUANT_TBL*Q;MULTIPLIER N[64];JSAMPLE*I,R[MAXJSAMP\
LE*6+6]={0},P[64],*G[16];float T[64][64],q=m*2,p,t,u,l,X,Y;S->sam\
ple_range_limit=R+m;F(i,8)G[i]=P+i*8;F(i,64)N[i]=1;F(i,m)R[m+i]=R[\
5*m+i]=i;F(i,3*m/2)R[i+m*2]=m-1;F(i,64){JCOEF c[64]={0};c[i]=q;D(0,0\
)F(k,64)T[i][k]=(P[k]-m/2)/q;}F(j,S->num_components)if((Q=O.quant_tab\
le)){O.quant_table=0;w=O.width_in_blocks*8;h=O.height_in_blocks*8;s=w\
*8+2;if((I=malloc((h+2)*s*sizeof(*I)))){F(i,8)G[i+8]=I+s*i;F(K,3){L F\
(i,64&&!K)c[i]*=V[i];D(8,m)}}F(i,s)*I=I[s],I[h*s+s]=I[h*s],I++;F(y,h)\
*I=I[1],I[w+1]=I[w],I+=s;I-=s*y+s;L X=Y=0;F(E,2){for(f=k=71;(i=k<8?k*\
8-8:k%8-7?k-7:k/8+55);Y+=g*g){r=V[i];if(E)u=(b=c[i])*q;else{u=l=0;if(\
f&&k-i-7){D(0,f=0)}B(&,7)B(>,8)C(g,-s)C(g,s)C(z,-1)C(z,1)u/=l;u+=b=c[\
i];}z=u+(u>0)-0.5f;g=(b+(b<0?-r:r)/2)/r*r;a=((g<1)-r)/2+g;r-=g?1-a:r+\
a;f|=b^=c[k=i]=a=z>r?r:z<a?a:z;X+=a*g;}Y>X?q=Y/X:E++;}}}}free(I);}}F(\
k,NUM_QUANT_TBLS)if((Q=S->quant_tbl_ptrs[k]))F(i,64)Q->quantval[i]=1;}
#include "jpegtran.c"