| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| sources: generator.ftl |
| outputFile: ../../../../build/overloadedNumberRules.java |
| data: { |
| t: csv(prices.csv, { separator: ',' }) |
| |
| # Conversion target types sorted by decreasing probablity of occurence |
| toCsFreqSorted: [ Integer, Long, Double, Float, Byte, Short, BigDecimal, BigInteger ] |
| |
| # Conversion target types associated to conversion price boost. The prices from the spreadsheet |
| # will be multipied by 10000 and the boost will be added to it. Thus, if the price of two possible |
| # targets are the same according the spreadsheet (and only then!), the choice will depend on |
| # this boost. |
| # The more specific the (the smaller) type is, the lower the boost should be. This is improtant, |
| # because this number is also used for comparing the specificity of numerical types where |
| # there's no argument type available. |
| # Note where the price from the spreadsheet is 0 or "-" or "N/A", the boost is not used. |
| toCsCostBoosts: { |
| 'Byte': 1, 'Short': 2, 'Integer': 3, 'Long': 4, 'BigInteger': 5, |
| 'Float': 6, 'Double': 7, |
| 'BigDecimal': 8 |
| } |
| |
| # Conversion source types sorted by decreasing probablity of occurence |
| fromCsFreqSorted: [ |
| Integer, |
| IntegerBigDecimal, |
| BigDecimal, |
| Long, |
| Double, |
| Float, |
| Byte, |
| BigInteger, |
| LongOrInteger |
| DoubleOrFloat, |
| DoubleOrIntegerOrFloat, |
| DoubleOrInteger, |
| DoubleOrLong, |
| IntegerOrByte, |
| DoubleOrByte, |
| LongOrByte |
| Short, |
| LongOrShort |
| ShortOrByte |
| FloatOrInteger, |
| FloatOrByte, |
| FloatOrShort, |
| BigIntegerOrInteger, |
| BigIntegerOrLong, |
| BigIntegerOrDouble, |
| BigIntegerOrFloat, |
| BigIntegerOrByte, |
| IntegerOrShort, |
| DoubleOrShort, |
| BigIntegerOrShort, |
| ] |
| } |