Files
ldc/test/dotproduct.d
Tomas Lindquist Olsen 964f91b5a1 [svn r291] Fixed a bunch of the old Phobos tests to work with Tango.
Branch statements now emit a new block after it.
Fixed the _adSort runtime function had a bad signature.
Added a missing dot prefix on compiler generated string tables for string switch.
Fixed, PTRSIZE seems like it was wrong on 64bit, now it definitely gets set properly.
2008-06-16 16:01:19 +02:00

37 lines
612 B
D

extern(C) int printf(char*, ...);
struct vec3
{
float x,y,z;
float dot(ref vec3 v)
{
return x*v.x + y*v.y + z*v.z;
}
void print(char[] n)
{
printf("%.*s = vec3(%.4f, %.4f, %.4f)\n", n.length, n.ptr, x,y,z);
}
}
int main()
{
printf("Dot Product test\n");
const f = 0.7071067811865474617;
vec3 v = vec3(f,f,0);
vec3 w = vec3(f,0,f);
v.print("v");
w.print("w");
auto dp = v.dot(w);
printf("v · w = %f\n", dp);
assert(dp > 0.4999 && dp < 0.5001);
printf(" SUCCESS\n");
return 0;
}