(name, cmp, infix)
| 41 | } |
| 42 | |
| 43 | function gen(name, cmp, infix) { |
| 44 | |
| 45 | print("// Copyright 2015 the V8 project authors. All rights reserved."); |
| 46 | print("// Use of this source code is governed by a BSD-style license that can be"); |
| 47 | print("// found in the LICENSE file."); |
| 48 | print(); |
| 49 | print("var values = [" + strings + "];"); |
| 50 | |
| 51 | var body = "(function " + name + "(a,b) { return " + expr(infix, "a", cmp, "b") + "; })"; |
| 52 | var func = eval(body); |
| 53 | |
| 54 | print("var expected = ["); |
| 55 | |
| 56 | for (var i = 0; i < values.length; i++) { |
| 57 | var line = " ["; |
| 58 | for (var j = 0; j < values.length; j++) { |
| 59 | if (j > 0) line += ","; |
| 60 | line += SpecialToString(func(values[i], values[j])); |
| 61 | } |
| 62 | line += "]"; |
| 63 | if (i < (values.length - 1)) line += ","; |
| 64 | print(line); |
| 65 | } |
| 66 | print("];"); |
| 67 | |
| 68 | print("var func = " + body + ";"); |
| 69 | print("var left_funcs = ["); |
| 70 | |
| 71 | for (var i = 0; i < values.length; i++) { |
| 72 | var value = strings[i]; |
| 73 | var body = "(function " + name + "_L" + i + "(b) { return " + expr(infix, value, cmp, "b") + "; })"; |
| 74 | var end = i < (values.length - 1) ? "," : ""; |
| 75 | print(" " + body + end); |
| 76 | } |
| 77 | print("];"); |
| 78 | |
| 79 | print("var right_funcs = ["); |
| 80 | for (var i = 0; i < values.length; i++) { |
| 81 | var value = strings[i]; |
| 82 | var body = "(function " + name + "_R" + i + "(a) { return " + expr(infix, "a", cmp, value) + "; })"; |
| 83 | var end = i < (values.length - 1) ? "," : ""; |
| 84 | print(" " + body + end); |
| 85 | } |
| 86 | print("];"); |
| 87 | |
| 88 | print("function matrix() {"); |
| 89 | print(" return ["); |
| 90 | for (var i = 0; i < values.length; i++) { |
| 91 | var line = " ["; |
| 92 | for (var j = 0; j < values.length; j++) { |
| 93 | if (j > 0) line += ","; |
| 94 | line += expr(infix, strings[i], cmp, strings[j]); |
| 95 | } |
| 96 | line += "]"; |
| 97 | if (i < (values.length - 1)) line += ","; |
| 98 | print(line); |
| 99 | } |
| 100 | print(" ];"); |
no test coverage detected