commit: 90b76ddd99556b4760e4b171c86ca4a36b321c6e
parent 4be5f4d3b12af833ebe9c29fe84785d30881feaa
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Sat, 29 Mar 2025 23:56:48 +0100
C/fast_alpha.c: new, based on C/alpha.c
Diffstat:
1 file changed, 37 insertions(+), 0 deletions(-)
diff --git a/C/fast_alpha.c b/C/fast_alpha.c
@@ -0,0 +1,37 @@
+// cat ./fast_alpha.c | tcc -run ./fast_alpha.c | mpv -
+#define _POSIX_C_SOURCE 200809L
+#include <stdio.h> // getchar()
+#include <inttypes.h> // uint32_t
+
+#include "au.h"
+
+int
+main(void)
+{
+ // Use AU defaults
+ struct au_header header = {
+ .offset = 24, // no-annotation, in octets
+ .length = 0xFFFFFFFF, // unknown data size
+ .encoding = 02, // unsigned 8-bit linear PCM
+ .samplerate = 8000, // Hz
+ .channels = 1
+ };
+
+ // fd 1 is stdout
+ write_au_header(1, &header);
+
+ int c = 0, t = 0, o = 0;
+
+ while((c = getchar()) != -1) {
+ int dur = 7000/14;
+ o = 1; // Magic number
+ if(c >= 'a' && c <= 'z') { dur = 7000/15; o=c-'a'+1; }
+ if(c >= '0' && c <= '9') { dur = 7000/16; o=c-'0'+1; }
+ if(c >= 'A' && c <= 'Z') { dur = 7000/17; o=c-'a'+1; }
+
+ for(int i = 0;i<dur;i++,t++)
+ putchar(t++*o%30);
+ }
+
+ return 0;
+}