/* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/licenses/publicdomain/ */ if (!this.hasOwnProperty("TypedObject")) quit(); setJitCompilerOption("ion.warmup.trigger", 30); var Vec3u32Type = TypedObject.uint32.array(3); var PairVec3u32Type = new TypedObject.StructType({fst: Vec3u32Type, snd: Vec3u32Type}); function foo_u32() { for (var i = 0; i < 5000; i += 10) { var p = new PairVec3u32Type(); p.fst[(i) % 3] = i; p.fst[(i+1) % 3] = i+1; p.fst[(i+2) % 3] = i+2; p.snd[(i) % 3] = i+3; p.snd[(i+1) % 3] = i+4; p.snd[(i+2) % 3] = i+5; var sum = p.fst[0] + p.fst[1] + p.fst[2]; assertEq(sum, 3*i + 3); sum = p.snd[0] + p.snd[1] + p.snd[2]; assertEq(sum, 3*i + 12); } } foo_u32();