exp-log-compute.html (2117B)
1 <!DOCTYPE html> 2 <link rel="help" href="https://drafts.csswg.org/css-values-4/#exponent-funcs"> 3 <link rel="help" href="https://drafts.csswg.org/css-values-4/#numbers"> 4 <link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-type-checking"> 5 <link rel="author" title="Apple Inc"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 <script src="../support/numeric-testcommon.js"></script> 9 <div id="target"></div> 10 <script> 11 // Simple tests 12 test_math_used('log(1)', '0', {type:'number'}); 13 test_math_used('log(10, 10)', '1', {type:'number'}); 14 test_math_used('exp(0)', '1', {type:'number'}); 15 16 // Test e 17 test_math_used('calc(log(e) )', '1', {type:'number', approx:0.1}); 18 test_math_used('calc(e - exp(1))', '0', {type:'number', approx:0.1}); 19 20 //General calculations 21 test_math_used('calc(log( 1 + 1 + 2 /2 - 2) )', '0', {type:'number', approx:0.1}); 22 test_math_used('calc(log(1) + exp(0))', '1', {type:'number', approx:0.1}); 23 test_math_used('calc(exp(log(1) + exp(0)*2))', '7.4', {type:'number', approx:0.1}); 24 test_math_used('calc(log(log(1) + exp(0)*10))', '2.3', {type:'number', approx:0.1}); 25 test_math_used('calc(log(log(1) + exp(0)*20, 10))', '1.3', {type:'number', approx:0.1}); 26 test_math_used('calc(log(e) / log(e) + exp(0)*2 * log(e))', '3', {type:'number', approx:0.1}); 27 test_math_used('calc(log((1 + 1) /2) / log(e) + exp(0*1)*2 * log(e))', '2', {type:'number', approx:0.1}); 28 test_math_used('calc(log((3 + 1) /2, 2) / log(e) + exp(0*1)*2 * log(e))', '3', {type:'number', approx:0.1}); 29 test_math_used('calc(log((3 + 1) /2, 2) / log(e, e) + exp(0*1)*2 * log(e, e))', '3', {type:'number', approx:0.1}); 30 test_math_used('calc(exp(0) + 1)', '2', {type:'number', approx:0.1}); 31 32 // Test unresolved at parse time 33 test_math_used('calc(e - exp(sibling-index()))', '0', {type:'number', approx:0.1}); 34 test_math_used('calc(log(exp(2 * sibling-index())))', '2', {type:'number', approx:0.1}); 35 36 // Test nesting 37 test_math_used('calc(log(exp(1)))', '1', {type:'number', approx:0.1}); 38 test_math_used('calc(log(exp(log(e))))', '1', {type:'number', approx:0.1}); 39 </script>