Mercurial > projects > ldc
comparison test/ray.d @ 94:61615fa85940 trunk
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
Added support for array .sort and .reverse properties.
Fixed some bugs with pointer arithmetic.
Disabled some DMD AST optimizations that was messing things up, destroying valuable information.
Added a KDevelop project file, this is what I use for coding LLVMDC now :)
Other minor stuff.
author | lindquist |
---|---|
date | Mon, 12 Nov 2007 06:32:46 +0100 |
parents | 70d6113eeb8c |
children |
comparison
equal
deleted
inserted
replaced
93:08508eebbb3e | 94:61615fa85940 |
---|---|
89 } | 89 } |
90 | 90 |
91 Scene create(int level, ref Vec c, double r) { | 91 Scene create(int level, ref Vec c, double r) { |
92 auto s = new Sphere(c, r); | 92 auto s = new Sphere(c, r); |
93 if (level == 1) return s; | 93 if (level == 1) return s; |
94 Scene[] children=[s]; | 94 Scene[] children; |
95 children ~= s; | |
95 double rn = 3*r/sqrt(12.0); | 96 double rn = 3*r/sqrt(12.0); |
96 for (int dz=-1; dz<=1; dz+=2) | 97 for (int dz=-1; dz<=1; dz+=2) |
97 for (int dx=-1; dx<=1; dx+=2) | 98 for (int dx=-1; dx<=1; dx+=2) |
98 children~=create(level-1, c + Vec(dx, 1, dz)*rn, r/2); | 99 children~=create(level-1, c + Vec(dx, 1, dz)*rn, r/2); |
99 return new Group(new Sphere(c, 3*r), children); | 100 return new Group(new Sphere(c, 3*r), children); |