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);