1--TEST--
2Test >> operator : various numbers as strings
3--SKIPIF--
4<?php
5if ((65<<65)==0) die("skip this test is for Intel only");
6?>
7--FILE--
8<?php
9
10$strVals = array(
11   "0","65","-44", "1.2", "-7.7", "abc", "123abc", "123e5", "123e5xyz", " 123abc", "123 abc", "123abc ", "3.4a",
12   "a5.9"
13);
14
15error_reporting(E_ERROR);
16
17foreach ($strVals as $strVal) {
18   foreach($strVals as $otherVal) {
19	   echo "--- testing: '$strVal' >> '$otherVal' ---\n";
20      var_dump(bin2hex($strVal>>$otherVal));
21   }
22}
23
24
25?>
26===DONE===
27--EXPECT--
28--- testing: '0' >> '0' ---
29string(2) "30"
30--- testing: '0' >> '65' ---
31string(2) "30"
32--- testing: '0' >> '-44' ---
33string(2) "30"
34--- testing: '0' >> '1.2' ---
35string(2) "30"
36--- testing: '0' >> '-7.7' ---
37string(2) "30"
38--- testing: '0' >> 'abc' ---
39string(2) "30"
40--- testing: '0' >> '123abc' ---
41string(2) "30"
42--- testing: '0' >> '123e5' ---
43string(2) "30"
44--- testing: '0' >> '123e5xyz' ---
45string(2) "30"
46--- testing: '0' >> ' 123abc' ---
47string(2) "30"
48--- testing: '0' >> '123 abc' ---
49string(2) "30"
50--- testing: '0' >> '123abc ' ---
51string(2) "30"
52--- testing: '0' >> '3.4a' ---
53string(2) "30"
54--- testing: '0' >> 'a5.9' ---
55string(2) "30"
56--- testing: '65' >> '0' ---
57string(4) "3635"
58--- testing: '65' >> '65' ---
59string(4) "3332"
60--- testing: '65' >> '-44' ---
61string(2) "30"
62--- testing: '65' >> '1.2' ---
63string(4) "3332"
64--- testing: '65' >> '-7.7' ---
65string(2) "30"
66--- testing: '65' >> 'abc' ---
67string(4) "3635"
68--- testing: '65' >> '123abc' ---
69string(2) "30"
70--- testing: '65' >> '123e5' ---
71string(2) "30"
72--- testing: '65' >> '123e5xyz' ---
73string(2) "30"
74--- testing: '65' >> ' 123abc' ---
75string(2) "30"
76--- testing: '65' >> '123 abc' ---
77string(2) "30"
78--- testing: '65' >> '123abc ' ---
79string(2) "30"
80--- testing: '65' >> '3.4a' ---
81string(2) "38"
82--- testing: '65' >> 'a5.9' ---
83string(4) "3635"
84--- testing: '-44' >> '0' ---
85string(6) "2d3434"
86--- testing: '-44' >> '65' ---
87string(6) "2d3232"
88--- testing: '-44' >> '-44' ---
89string(4) "2d31"
90--- testing: '-44' >> '1.2' ---
91string(6) "2d3232"
92--- testing: '-44' >> '-7.7' ---
93string(4) "2d31"
94--- testing: '-44' >> 'abc' ---
95string(6) "2d3434"
96--- testing: '-44' >> '123abc' ---
97string(4) "2d31"
98--- testing: '-44' >> '123e5' ---
99string(4) "2d31"
100--- testing: '-44' >> '123e5xyz' ---
101string(4) "2d31"
102--- testing: '-44' >> ' 123abc' ---
103string(4) "2d31"
104--- testing: '-44' >> '123 abc' ---
105string(4) "2d31"
106--- testing: '-44' >> '123abc ' ---
107string(4) "2d31"
108--- testing: '-44' >> '3.4a' ---
109string(4) "2d36"
110--- testing: '-44' >> 'a5.9' ---
111string(6) "2d3434"
112--- testing: '1.2' >> '0' ---
113string(2) "31"
114--- testing: '1.2' >> '65' ---
115string(2) "30"
116--- testing: '1.2' >> '-44' ---
117string(2) "30"
118--- testing: '1.2' >> '1.2' ---
119string(2) "30"
120--- testing: '1.2' >> '-7.7' ---
121string(2) "30"
122--- testing: '1.2' >> 'abc' ---
123string(2) "31"
124--- testing: '1.2' >> '123abc' ---
125string(2) "30"
126--- testing: '1.2' >> '123e5' ---
127string(2) "30"
128--- testing: '1.2' >> '123e5xyz' ---
129string(2) "30"
130--- testing: '1.2' >> ' 123abc' ---
131string(2) "30"
132--- testing: '1.2' >> '123 abc' ---
133string(2) "30"
134--- testing: '1.2' >> '123abc ' ---
135string(2) "30"
136--- testing: '1.2' >> '3.4a' ---
137string(2) "30"
138--- testing: '1.2' >> 'a5.9' ---
139string(2) "31"
140--- testing: '-7.7' >> '0' ---
141string(4) "2d37"
142--- testing: '-7.7' >> '65' ---
143string(4) "2d34"
144--- testing: '-7.7' >> '-44' ---
145string(4) "2d31"
146--- testing: '-7.7' >> '1.2' ---
147string(4) "2d34"
148--- testing: '-7.7' >> '-7.7' ---
149string(4) "2d31"
150--- testing: '-7.7' >> 'abc' ---
151string(4) "2d37"
152--- testing: '-7.7' >> '123abc' ---
153string(4) "2d31"
154--- testing: '-7.7' >> '123e5' ---
155string(4) "2d31"
156--- testing: '-7.7' >> '123e5xyz' ---
157string(4) "2d31"
158--- testing: '-7.7' >> ' 123abc' ---
159string(4) "2d31"
160--- testing: '-7.7' >> '123 abc' ---
161string(4) "2d31"
162--- testing: '-7.7' >> '123abc ' ---
163string(4) "2d31"
164--- testing: '-7.7' >> '3.4a' ---
165string(4) "2d31"
166--- testing: '-7.7' >> 'a5.9' ---
167string(4) "2d37"
168--- testing: 'abc' >> '0' ---
169string(2) "30"
170--- testing: 'abc' >> '65' ---
171string(2) "30"
172--- testing: 'abc' >> '-44' ---
173string(2) "30"
174--- testing: 'abc' >> '1.2' ---
175string(2) "30"
176--- testing: 'abc' >> '-7.7' ---
177string(2) "30"
178--- testing: 'abc' >> 'abc' ---
179string(2) "30"
180--- testing: 'abc' >> '123abc' ---
181string(2) "30"
182--- testing: 'abc' >> '123e5' ---
183string(2) "30"
184--- testing: 'abc' >> '123e5xyz' ---
185string(2) "30"
186--- testing: 'abc' >> ' 123abc' ---
187string(2) "30"
188--- testing: 'abc' >> '123 abc' ---
189string(2) "30"
190--- testing: 'abc' >> '123abc ' ---
191string(2) "30"
192--- testing: 'abc' >> '3.4a' ---
193string(2) "30"
194--- testing: 'abc' >> 'a5.9' ---
195string(2) "30"
196--- testing: '123abc' >> '0' ---
197string(6) "313233"
198--- testing: '123abc' >> '65' ---
199string(4) "3631"
200--- testing: '123abc' >> '-44' ---
201string(2) "30"
202--- testing: '123abc' >> '1.2' ---
203string(4) "3631"
204--- testing: '123abc' >> '-7.7' ---
205string(2) "30"
206--- testing: '123abc' >> 'abc' ---
207string(6) "313233"
208--- testing: '123abc' >> '123abc' ---
209string(2) "30"
210--- testing: '123abc' >> '123e5' ---
211string(2) "30"
212--- testing: '123abc' >> '123e5xyz' ---
213string(2) "30"
214--- testing: '123abc' >> ' 123abc' ---
215string(2) "30"
216--- testing: '123abc' >> '123 abc' ---
217string(2) "30"
218--- testing: '123abc' >> '123abc ' ---
219string(2) "30"
220--- testing: '123abc' >> '3.4a' ---
221string(4) "3135"
222--- testing: '123abc' >> 'a5.9' ---
223string(6) "313233"
224--- testing: '123e5' >> '0' ---
225string(6) "313233"
226--- testing: '123e5' >> '65' ---
227string(4) "3631"
228--- testing: '123e5' >> '-44' ---
229string(2) "30"
230--- testing: '123e5' >> '1.2' ---
231string(4) "3631"
232--- testing: '123e5' >> '-7.7' ---
233string(2) "30"
234--- testing: '123e5' >> 'abc' ---
235string(6) "313233"
236--- testing: '123e5' >> '123abc' ---
237string(2) "30"
238--- testing: '123e5' >> '123e5' ---
239string(2) "30"
240--- testing: '123e5' >> '123e5xyz' ---
241string(2) "30"
242--- testing: '123e5' >> ' 123abc' ---
243string(2) "30"
244--- testing: '123e5' >> '123 abc' ---
245string(2) "30"
246--- testing: '123e5' >> '123abc ' ---
247string(2) "30"
248--- testing: '123e5' >> '3.4a' ---
249string(4) "3135"
250--- testing: '123e5' >> 'a5.9' ---
251string(6) "313233"
252--- testing: '123e5xyz' >> '0' ---
253string(6) "313233"
254--- testing: '123e5xyz' >> '65' ---
255string(4) "3631"
256--- testing: '123e5xyz' >> '-44' ---
257string(2) "30"
258--- testing: '123e5xyz' >> '1.2' ---
259string(4) "3631"
260--- testing: '123e5xyz' >> '-7.7' ---
261string(2) "30"
262--- testing: '123e5xyz' >> 'abc' ---
263string(6) "313233"
264--- testing: '123e5xyz' >> '123abc' ---
265string(2) "30"
266--- testing: '123e5xyz' >> '123e5' ---
267string(2) "30"
268--- testing: '123e5xyz' >> '123e5xyz' ---
269string(2) "30"
270--- testing: '123e5xyz' >> ' 123abc' ---
271string(2) "30"
272--- testing: '123e5xyz' >> '123 abc' ---
273string(2) "30"
274--- testing: '123e5xyz' >> '123abc ' ---
275string(2) "30"
276--- testing: '123e5xyz' >> '3.4a' ---
277string(4) "3135"
278--- testing: '123e5xyz' >> 'a5.9' ---
279string(6) "313233"
280--- testing: ' 123abc' >> '0' ---
281string(6) "313233"
282--- testing: ' 123abc' >> '65' ---
283string(4) "3631"
284--- testing: ' 123abc' >> '-44' ---
285string(2) "30"
286--- testing: ' 123abc' >> '1.2' ---
287string(4) "3631"
288--- testing: ' 123abc' >> '-7.7' ---
289string(2) "30"
290--- testing: ' 123abc' >> 'abc' ---
291string(6) "313233"
292--- testing: ' 123abc' >> '123abc' ---
293string(2) "30"
294--- testing: ' 123abc' >> '123e5' ---
295string(2) "30"
296--- testing: ' 123abc' >> '123e5xyz' ---
297string(2) "30"
298--- testing: ' 123abc' >> ' 123abc' ---
299string(2) "30"
300--- testing: ' 123abc' >> '123 abc' ---
301string(2) "30"
302--- testing: ' 123abc' >> '123abc ' ---
303string(2) "30"
304--- testing: ' 123abc' >> '3.4a' ---
305string(4) "3135"
306--- testing: ' 123abc' >> 'a5.9' ---
307string(6) "313233"
308--- testing: '123 abc' >> '0' ---
309string(6) "313233"
310--- testing: '123 abc' >> '65' ---
311string(4) "3631"
312--- testing: '123 abc' >> '-44' ---
313string(2) "30"
314--- testing: '123 abc' >> '1.2' ---
315string(4) "3631"
316--- testing: '123 abc' >> '-7.7' ---
317string(2) "30"
318--- testing: '123 abc' >> 'abc' ---
319string(6) "313233"
320--- testing: '123 abc' >> '123abc' ---
321string(2) "30"
322--- testing: '123 abc' >> '123e5' ---
323string(2) "30"
324--- testing: '123 abc' >> '123e5xyz' ---
325string(2) "30"
326--- testing: '123 abc' >> ' 123abc' ---
327string(2) "30"
328--- testing: '123 abc' >> '123 abc' ---
329string(2) "30"
330--- testing: '123 abc' >> '123abc ' ---
331string(2) "30"
332--- testing: '123 abc' >> '3.4a' ---
333string(4) "3135"
334--- testing: '123 abc' >> 'a5.9' ---
335string(6) "313233"
336--- testing: '123abc ' >> '0' ---
337string(6) "313233"
338--- testing: '123abc ' >> '65' ---
339string(4) "3631"
340--- testing: '123abc ' >> '-44' ---
341string(2) "30"
342--- testing: '123abc ' >> '1.2' ---
343string(4) "3631"
344--- testing: '123abc ' >> '-7.7' ---
345string(2) "30"
346--- testing: '123abc ' >> 'abc' ---
347string(6) "313233"
348--- testing: '123abc ' >> '123abc' ---
349string(2) "30"
350--- testing: '123abc ' >> '123e5' ---
351string(2) "30"
352--- testing: '123abc ' >> '123e5xyz' ---
353string(2) "30"
354--- testing: '123abc ' >> ' 123abc' ---
355string(2) "30"
356--- testing: '123abc ' >> '123 abc' ---
357string(2) "30"
358--- testing: '123abc ' >> '123abc ' ---
359string(2) "30"
360--- testing: '123abc ' >> '3.4a' ---
361string(4) "3135"
362--- testing: '123abc ' >> 'a5.9' ---
363string(6) "313233"
364--- testing: '3.4a' >> '0' ---
365string(2) "33"
366--- testing: '3.4a' >> '65' ---
367string(2) "31"
368--- testing: '3.4a' >> '-44' ---
369string(2) "30"
370--- testing: '3.4a' >> '1.2' ---
371string(2) "31"
372--- testing: '3.4a' >> '-7.7' ---
373string(2) "30"
374--- testing: '3.4a' >> 'abc' ---
375string(2) "33"
376--- testing: '3.4a' >> '123abc' ---
377string(2) "30"
378--- testing: '3.4a' >> '123e5' ---
379string(2) "30"
380--- testing: '3.4a' >> '123e5xyz' ---
381string(2) "30"
382--- testing: '3.4a' >> ' 123abc' ---
383string(2) "30"
384--- testing: '3.4a' >> '123 abc' ---
385string(2) "30"
386--- testing: '3.4a' >> '123abc ' ---
387string(2) "30"
388--- testing: '3.4a' >> '3.4a' ---
389string(2) "30"
390--- testing: '3.4a' >> 'a5.9' ---
391string(2) "33"
392--- testing: 'a5.9' >> '0' ---
393string(2) "30"
394--- testing: 'a5.9' >> '65' ---
395string(2) "30"
396--- testing: 'a5.9' >> '-44' ---
397string(2) "30"
398--- testing: 'a5.9' >> '1.2' ---
399string(2) "30"
400--- testing: 'a5.9' >> '-7.7' ---
401string(2) "30"
402--- testing: 'a5.9' >> 'abc' ---
403string(2) "30"
404--- testing: 'a5.9' >> '123abc' ---
405string(2) "30"
406--- testing: 'a5.9' >> '123e5' ---
407string(2) "30"
408--- testing: 'a5.9' >> '123e5xyz' ---
409string(2) "30"
410--- testing: 'a5.9' >> ' 123abc' ---
411string(2) "30"
412--- testing: 'a5.9' >> '123 abc' ---
413string(2) "30"
414--- testing: 'a5.9' >> '123abc ' ---
415string(2) "30"
416--- testing: 'a5.9' >> '3.4a' ---
417string(2) "30"
418--- testing: 'a5.9' >> 'a5.9' ---
419string(2) "30"
420===DONE===
421