summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-12 12:35:57 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-12 12:36:16 +0000
commit9a54f2f52fdaf9364b0f757f5cdcbf09de230919 (patch)
tree3fbbe8bb9216c6b63d56b9b15f972b1671bb57aa /examples
parent96faad9e45f799fe5a595ce28cb0718fdb9ad6ca (diff)
Improved comptime feature, and added example.
Diffstat (limited to 'examples')
-rw-r--r--examples/comptime_fib.zc25
1 files changed, 25 insertions, 0 deletions
diff --git a/examples/comptime_fib.zc b/examples/comptime_fib.zc
new file mode 100644
index 0000000..1ad2898
--- /dev/null
+++ b/examples/comptime_fib.zc
@@ -0,0 +1,25 @@
+
+fn main() {
+ comptime {
+ var N = 20;
+ var fib: long[20];
+ fib[0] = (long)0;
+ fib[1] = (long)1;
+ for var i=2; i<N; i+=1 {
+ fib[i] = fib[i-1] + fib[i-2];
+ }
+
+ printf("// Generated Fibonacci Sequence\n");
+ printf("var fibs: int[%d] = [", N);
+ for var i=0; i<N; i+=1 {
+ printf("%ld", fib[i]);
+ if (i < N-1) printf(", ");
+ }
+ printf("];\n");
+ }
+
+ print "Compile-time generated Fibonacci sequence:\n";
+ for i in 0..20 {
+ print f"fib[{i}] = {fibs[i]}\n";
+ }
+}