Return to expm1_variation1.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / math |
1.1 misho 1: --TEST-- 2: Test expm1() function : usage variations - different data types as $arg argument 3: --INI-- 4: precision=14 5: --FILE-- 6: <?php 7: 8: /* Prototype : float expm1 ( float $arg ) 9: * Description: Returns exp(number) - 1, computed in a way that is accurate even 10: * when the value of number is close to zero. 11: * Source code: ext/standard/math.c 12: */ 13: 14: echo "*** Testing expm1() : usage variations ***\n"; 15: 16: //get an unset variable 17: $unset_var = 10; 18: unset ($unset_var); 19: 20: // heredoc string 21: $heredoc = <<<EOT 22: abc 23: xyz 24: EOT; 25: 26: // get a class 27: class classA 28: { 29: } 30: 31: // get a resource variable 32: $fp = fopen(__FILE__, "r"); 33: 34: // unexpected values to be passed to $arg argument 35: $inputs = array( 36: // int data 37: /*1*/ 0, 38: 1, 39: 12345, 40: -2345, 41: 42: // float data 43: /*5*/ 10.5, 44: -10.5, 45: 12.3456789E4, 46: 12.3456789E-4, 47: .5, 48: 49: // null data 50: /*10*/ NULL, 51: null, 52: 53: // boolean data 54: /*12*/ true, 55: false, 56: TRUE, 57: FALSE, 58: 59: // empty data 60: /*16*/ "", 61: '', 62: array(), 63: 64: // string data 65: /*19*/ "abcxyz", 66: 'abcxyz', 67: $heredoc, 68: 69: // array data 70: array(), 71: array(1,2,4), 72: 73: // object data 74: /*24*/ new classA(), 75: 76: // undefined data 77: /*25*/ @$undefined_var, 78: 79: // unset data 80: /*26*/ @$unset_var, 81: 82: // resource variable 83: /*27*/ $fp 84: ); 85: 86: // loop through each element of $inputs to check the behaviour of expm1() 87: $iterator = 1; 88: foreach($inputs as $input) { 89: echo "\n-- Iteration $iterator --\n"; 90: var_dump(expm1($input)); 91: $iterator++; 92: }; 93: fclose($fp); 94: ?> 95: ===Done=== 96: --EXPECTF-- 97: *** Testing expm1() : usage variations *** 98: 99: -- Iteration 1 -- 100: float(0) 101: 102: -- Iteration 2 -- 103: float(1.718281828459) 104: 105: -- Iteration 3 -- 106: float(INF) 107: 108: -- Iteration 4 -- 109: float(-1) 110: 111: -- Iteration 5 -- 112: float(36314.502674247) 113: 114: -- Iteration 6 -- 115: float(-0.99997246355065) 116: 117: -- Iteration 7 -- 118: float(INF) 119: 120: -- Iteration 8 -- 121: float(0.0012353302826471) 122: 123: -- Iteration 9 -- 124: float(0.64872127070013) 125: 126: -- Iteration 10 -- 127: float(0) 128: 129: -- Iteration 11 -- 130: float(0) 131: 132: -- Iteration 12 -- 133: float(1.718281828459) 134: 135: -- Iteration 13 -- 136: float(0) 137: 138: -- Iteration 14 -- 139: float(1.718281828459) 140: 141: -- Iteration 15 -- 142: float(0) 143: 144: -- Iteration 16 -- 145: 146: Warning: expm1() expects parameter 1 to be double, string given in %s on line %d 147: NULL 148: 149: -- Iteration 17 -- 150: 151: Warning: expm1() expects parameter 1 to be double, string given in %s on line %d 152: NULL 153: 154: -- Iteration 18 -- 155: 156: Warning: expm1() expects parameter 1 to be double, array given in %s on line %d 157: NULL 158: 159: -- Iteration 19 -- 160: 161: Warning: expm1() expects parameter 1 to be double, string given in %s on line %d 162: NULL 163: 164: -- Iteration 20 -- 165: 166: Warning: expm1() expects parameter 1 to be double, string given in %s on line %d 167: NULL 168: 169: -- Iteration 21 -- 170: 171: Warning: expm1() expects parameter 1 to be double, string given in %s on line %d 172: NULL 173: 174: -- Iteration 22 -- 175: 176: Warning: expm1() expects parameter 1 to be double, array given in %s on line %d 177: NULL 178: 179: -- Iteration 23 -- 180: 181: Warning: expm1() expects parameter 1 to be double, array given in %s on line %d 182: NULL 183: 184: -- Iteration 24 -- 185: 186: Warning: expm1() expects parameter 1 to be double, object given in %s on line %d 187: NULL 188: 189: -- Iteration 25 -- 190: float(0) 191: 192: -- Iteration 26 -- 193: float(0) 194: 195: -- Iteration 27 -- 196: 197: Warning: expm1() expects parameter 1 to be double, resource given in %s on line %d 198: NULL 199: ===Done===