mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 11:44:31 +01:00 
			
		
		
		
	* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| //@ run("no-architecture-specific-optimizations", "--useArchitectureSpecificOptimizations=false", *NO_CJIT_OPTIONS)
 | |
| //@ run("no-architecture-specific-optimizations-ftl", "--useArchitectureSpecificOptimizations=false", *FTL_OPTIONS)
 | |
| 
 | |
| // Basic cases of Math.sqrt().
 | |
| function sqrtOnInteger(radicand) {
 | |
|     return Math.sqrt(radicand);
 | |
| }
 | |
| noInline(sqrtOnInteger);
 | |
| 
 | |
| function testSquareRoot16() {
 | |
|     for (var i = 0; i < 10000; ++i) {
 | |
|         var result = sqrtOnInteger(16);
 | |
|         if (result !== 4)
 | |
|             throw "sqrtOnInteger(16) = " + result + ", expected 4";
 | |
|     }
 | |
| }
 | |
| testSquareRoot16();
 | |
| 
 | |
| var sqrtOnIntegerNegativeNumber = sqrtOnDouble(-4);
 | |
| if (!isNaN(sqrtOnIntegerNegativeNumber))
 | |
|     throw "sqrtOnDouble(-4) = " + sqrtOnIntegerNegativeNumber + ", expected NaN";
 | |
| 
 | |
| var sqrtOnIntegerFallback = sqrtOnInteger(Math.PI);
 | |
| if (sqrtOnIntegerFallback != 1.7724538509055159)
 | |
|     throw "sqrtOnInteger(Math.PI) = " + sqrtOnIntegerFallback + ", expected 1.7724538509055159";
 | |
| 
 | |
| 
 | |
| function sqrtOnDouble(radicand) {
 | |
|     return Math.sqrt(radicand);
 | |
| }
 | |
| noInline(sqrtOnDouble);
 | |
| 
 | |
| function testSquareRootDouble() {
 | |
|     for (var i = 0; i < 10000; ++i) {
 | |
|         var result = sqrtOnInteger(Math.LN2);
 | |
|         if (result !== 0.8325546111576977)
 | |
|             throw "sqrtOnInteger(Math.LN2) = " + result + ", expected 0.8325546111576977";
 | |
|     }
 | |
| }
 | |
| testSquareRootDouble();
 | |
| 
 | |
| var sqrtOnDoubleNegativeNumber = sqrtOnDouble(-Math.PI);
 | |
| if (!isNaN(sqrtOnDoubleNegativeNumber))
 | |
|     throw "sqrtOnDouble(-Math.PI) = " + sqrtOnDoubleNegativeNumber + ", expected NaN";
 | |
| 
 | |
| var sqrtOnDoubleFallback = sqrtOnDouble(4);
 | |
| if (sqrtOnDoubleFallback !== 2)
 | |
|     throw "sqrtOnDouble(4) = " + sqrtOnDoubleFallback + ", expected 2"; |