Team Ai
Datasetpublic

hschumann2/TempleOS-Source-Code

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes847downloads
MathAudioDemo.txt108 linesDownload Raw Back to Graphics
1 2F64 MySin(F64 d)3{ //Sin() does not have an address.4  return Sin(d);5}6 7F64 MyCos(F64 d)8{ //Cos() does not have an address.9  return Cos(d);10}11 12U0 FunDraw1(CDC *dc,F64 (*f)(F64 t))13{14  I64 i,w=Fs->pix_width,h=Fs->pix_height;15  F64 scale=h/5.0;16  for (i=-w/2;i<=w/2;i++)17    GrLine(dc,w/2+i,h/2-scale*f(i/scale*2*pi),18          w/2+i+1,h/2-scale*f((i+1)/scale*2*pi));19}20 21U0 FunDraw2(CDC *dc,F64 (*f)(F64 t,F64 p),F64 T)22{23  I64 i,w=Fs->pix_width,h=Fs->pix_height;24  F64 scale=h/5.0;25  for (i=-w/2;i<=w/2;i++)26    GrLine(dc,w/2+i,h/2-scale*f(i/scale,T),w/2+i+1,h/2-scale*f((i+1)/scale,T));27}28 29U0 Init(CDC *dc)30{31  I64 i,w=Fs->pix_width,h=Fs->pix_height;32  F64 scale=h/5.0;33  DocClear;34  DCFill(dc);35  dc->color=BLACK;36  GrLine(dc,0,h/2,w-1,h/2);37  GrLine(dc,w/2,0,w/2,h-1);38  for (i=-2;i<=2;i++) {39    dc->color=BLACK;40    GrLine(dc,w/2-3,h/2-scale*i,w/2+3,h/2-scale*i);41    if (i) {42      dc->color=DKGRAY;43      GrPrint(dc,w/2+5,h/2-scale*i-FONT_HEIGHT/2,"%5.1f",ToF64(i));44    }45  }46  for (i=-4;i<=4;i++) {47    dc->color=BLACK;48    GrLine(dc,w/2+scale*i,h/2-3,w/2+scale*i,h/2+3);49    if (i) {50      dc->color=DKGRAY;51      GrPrint(dc,52            w/2+scale*i-7*FONT_WIDTH/2,h/2+5+FONT_HEIGHT,"%5.1f*T",ToF64(i));53    }54  }55}56 57U0 SndMathDemo()58{59  CDC *dc=DCAlias;60 61  Init(dc);62  dc->color=RED;63  FunDraw1(dc,&MySin);64  "$RED$Sin$FG$\n";65  PressAKey;66  dc->color=BLUE;67  FunDraw2(dc,&Saw,1.0);68  "$BLUE$Saw$FG$\n";69  PressAKey;70  dc->color=GREEN;71  FunDraw2(dc,&FullSaw,1.0);72  "$GREEN$FullSaw$FG$\n";73  PressAKey;74 75  Init(dc);76  dc->color=RED;77  FunDraw1(dc,&MyCos);78  "$RED$Cos$FG$\n";79  PressAKey;80  dc->color=BLUE;81  FunDraw2(dc,&Caw,1.0);82  "$BLUE$Caw$FG$\n";83  PressAKey;84  dc->color=GREEN;85  FunDraw2(dc,&FullCaw,1.0);86  "$GREEN$FullCaw$FG$\n";87  PressAKey;88 89  Init(dc);90  dc->color=RED;91  FunDraw1(dc,&MySin);92  "$RED$Sin$FG$\n";93  PressAKey;94  dc->color=BLUE;95  FunDraw2(dc,&Tri,1.0);96  "$BLUE$Tri$FG$\n";97  PressAKey;98  dc->color=GREEN;99  FunDraw2(dc,&FullTri,1.0);100  "$GREEN$FullTri$FG$\n";101  PressAKey;102 103  DCFill(dc);104  DCDel(dc);105}106 107SndMathDemo;108