| //@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py |
| // Test the performance of integer multiplication by implementing a 16-bit |
| // string hash. |
| |
| function stringHash(string) |
| { |
| // source: http://en.wikipedia.org/wiki/Java_hashCode()#Sample_implementations_of_the_java.lang.String_algorithm |
| var h = 0; |
| var len = string.length; |
| for (var index = 0; index < len; index++) { |
| h = (((31 * h) | 0) + string.charCodeAt(index)) | 0; |
| } |
| return h; |
| } |
| |
| for (var i = 0; i < 10000; ++i) { |
| var result = |
| (stringHash("The spirit is willing but the flesh is weak.") * |
| stringHash("The vodka is strong but the meat is rotten.")) | 0; |
| if (result != -1136304128) |
| throw "Bad result: " + result; |
| } |
| |