// Copyright 2014 the V8 project authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.varstdlib={};varforeign={};varheap=newArrayBuffer(64*1024);functionUint32Mod(divisor){varname="mod_";name+=divisor;varm=eval("function Module(stdlib, foreign, heap) {\n"+" \"use asm\";\n"+" function "+name+"(dividend) {\n"+" return ((dividend >>> 0) % "+divisor+") >>> 0;\n"+" }\n"+" return { f: "+name+"}\n"+"}; Module");returnm(stdlib,foreign,heap).f;}vardivisors=[0,1,3,4,10,42,64,100,1024,2147483647,4294967295];for(variindivisors){vardivisor=divisors[i];varmod=Uint32Mod(divisor);for(vardividend=0;dividend<4294967296;dividend+=3999773){assertEquals((dividend%divisor)>>>0,mod(dividend));}}