LocalizedCoreFormats.java

  1. /*
  2.  * Licensed to the Apache Software Foundation (ASF) under one or more
  3.  * contributor license agreements.  See the NOTICE file distributed with
  4.  * this work for additional information regarding copyright ownership.
  5.  * The ASF licenses this file to You under the Apache License, Version 2.0
  6.  * (the "License"); you may not use this file except in compliance with
  7.  * the License.  You may obtain a copy of the License at
  8.  *
  9.  *      https://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */

  17. /*
  18.  * This is not the original file distributed by the Apache Software Foundation
  19.  * It has been modified by the Hipparchus project
  20.  */
  21. package org.hipparchus.exception;

  22. import java.util.Locale;

  23. /**
  24.  * Enumeration for localized messages formats used in exceptions messages.
  25.  * <p>
  26.  * The constants in this enumeration represent the available
  27.  * formats as localized strings. These formats are intended to be
  28.  * localized using simple properties files, using the constant
  29.  * name as the key and the property value as the message format.
  30.  * The source English format is provided in the constants themselves
  31.  * to serve both as a reminder for developers to understand the parameters
  32.  * needed by each format, as a basis for translators to create
  33.  * localized properties files, and as a default format if some
  34.  * translation is missing.
  35.  * </p>
  36.  */
  37. public enum LocalizedCoreFormats implements Localizable {

  38.     /** ARRAY_SIZE_EXCEEDS_MAX_VARIABLES. */
  39.     ARRAY_SIZE_EXCEEDS_MAX_VARIABLES("array size cannot be greater than {0}"),

  40.     /** ARRAY_SIZES_SHOULD_HAVE_DIFFERENCE_1. */
  41.     ARRAY_SIZES_SHOULD_HAVE_DIFFERENCE_1("array sizes should have difference 1 ({0} != {1} + 1)"),

  42.     /** ARRAY_SUMS_TO_ZERO. */
  43.     ARRAY_SUMS_TO_ZERO("array sums to zero"),

  44.     /** AT_LEAST_ONE_COLUMN. */
  45.     AT_LEAST_ONE_COLUMN("matrix must have at least one column"),

  46.     /** AT_LEAST_ONE_ROW. */
  47.     AT_LEAST_ONE_ROW("matrix must have at least one row"),

  48.     /** BANDWIDTH. */
  49.     BANDWIDTH("bandwidth ({0})"),

  50.     /** BESSEL_FUNCTION_BAD_ARGUMENT. */
  51.     BESSEL_FUNCTION_BAD_ARGUMENT("Bessel function of order {0} cannot be computed for x = {1}"),

  52.     /** BESSEL_FUNCTION_FAILED_CONVERGENCE. */
  53.     BESSEL_FUNCTION_FAILED_CONVERGENCE("Bessel function of order {0} failed to converge for x = {1}"),

  54.     /** BINOMIAL_INVALID_PARAMETERS_ORDER. */
  55.     BINOMIAL_INVALID_PARAMETERS_ORDER("must have n >= k for binomial coefficient (n, k), got k = {0}, n = {1}"),

  56.     /** BINOMIAL_NEGATIVE_PARAMETER. */
  57.     BINOMIAL_NEGATIVE_PARAMETER("must have n >= 0 for binomial coefficient (n, k), got n = {0}"),

  58.     /** CANNOT_COMPUTE_0TH_ROOT_OF_UNITY. */
  59.     CANNOT_COMPUTE_0TH_ROOT_OF_UNITY("cannot compute 0-th root of unity, indefinite result"),

  60.     /** CANNOT_COMPUTE_BETA_DENSITY_AT_0_FOR_SOME_ALPHA. */
  61.     CANNOT_COMPUTE_BETA_DENSITY_AT_0_FOR_SOME_ALPHA("cannot compute beta density at 0 when alpha = {0,number}"),

  62.     /** CANNOT_COMPUTE_BETA_DENSITY_AT_1_FOR_SOME_BETA. */
  63.     CANNOT_COMPUTE_BETA_DENSITY_AT_1_FOR_SOME_BETA("cannot compute beta density at 1 when beta = %.3g"),

  64.     /** CANNOT_COMPUTE_NTH_ROOT_FOR_NEGATIVE_N. */
  65.     CANNOT_COMPUTE_NTH_ROOT_FOR_NEGATIVE_N("cannot compute nth root for null or negative n: {0}"),

  66.     /** CANNOT_DISCARD_NEGATIVE_NUMBER_OF_ELEMENTS. */
  67.     CANNOT_DISCARD_NEGATIVE_NUMBER_OF_ELEMENTS("cannot discard a negative number of elements ({0})"),

  68.     /** CANNOT_FORMAT_INSTANCE_AS_COMPLEX. */
  69.     CANNOT_FORMAT_INSTANCE_AS_COMPLEX("cannot format a {0} instance as a complex number"),

  70.     /** CANNOT_FORMAT_OBJECT_TO_FRACTION. */
  71.     CANNOT_FORMAT_OBJECT_TO_FRACTION("cannot format given object as a fraction number"),

  72.     /** CANNOT_SUBSTITUTE_ELEMENT_FROM_EMPTY_ARRAY. */
  73.     CANNOT_SUBSTITUTE_ELEMENT_FROM_EMPTY_ARRAY("cannot substitute an element from an empty array"),

  74.     /** COLUMN_INDEX. */
  75.     COLUMN_INDEX("column index ({0})"), /* keep */

  76.     /** COMPLEX_CANNOT_BE_CONSIDERED_A_REAL_NUMBER. */
  77.     COMPLEX_CANNOT_BE_CONSIDERED_A_REAL_NUMBER("complex number ({0},{1}) cannot be considered to be a real number"),

  78.     /** CONSTRAINT. */
  79.     CONSTRAINT("constraint"), /* keep */

  80.     /** CONTINUED_FRACTION_INFINITY_DIVERGENCE. */
  81.     CONTINUED_FRACTION_INFINITY_DIVERGENCE("Continued fraction convergents diverged to +/- infinity for value {0}"),

  82.     /** CONTINUED_FRACTION_NAN_DIVERGENCE. */
  83.     CONTINUED_FRACTION_NAN_DIVERGENCE("Continued fraction diverged to NaN for value {0}"),

  84.     /** CONTRACTION_CRITERIA_SMALLER_THAN_EXPANSION_FACTOR. */
  85.     CONTRACTION_CRITERIA_SMALLER_THAN_EXPANSION_FACTOR("contraction criteria ({0}) smaller than the expansion factor ({1}).  This would lead to a never ending loop of expansion and contraction as a newly expanded internal storage array would immediately satisfy the criteria for contraction."),

  86.     /** CONTRACTION_CRITERIA_SMALLER_THAN_ONE. */
  87.     CONTRACTION_CRITERIA_SMALLER_THAN_ONE("contraction criteria smaller than one ({0}).  This would lead to a never ending loop of expansion and contraction as an internal storage array length equal to the number of elements would satisfy the contraction criteria."),

  88.     /** CONVERGENCE_FAILED. */
  89.     CONVERGENCE_FAILED("convergence failed"), /* keep */

  90.     /** CUMULATIVE_PROBABILITY_RETURNED_NAN. */
  91.     CUMULATIVE_PROBABILITY_RETURNED_NAN("Cumulative probability function returned NaN for argument {0} p = {1}"),

  92.     /** DERIVATION_ORDER_NOT_ALLOWED. */
  93.     DERIVATION_ORDER_NOT_ALLOWED("derivation order {0} is not allowed here"),

  94.     /** DIFFERENT_ROWS_LENGTHS. */
  95.     DIFFERENT_ROWS_LENGTHS("some rows have length {0} while others have length {1}"),

  96.     /** DIGEST_NOT_INITIALIZED. */
  97.     DIGEST_NOT_INITIALIZED("digest not initialized"),

  98.     /** DIMENSIONS_MISMATCH_2x2. */
  99.     DIMENSIONS_MISMATCH_2x2("got {0}x{1} but expected {2}x{3}"), /* keep */

  100.     /** DIMENSIONS_MISMATCH. */
  101.     DIMENSIONS_MISMATCH("inconsistent dimensions: {0} != {1}"), /* keep */

  102.     /** DISCRETE_CUMULATIVE_PROBABILITY_RETURNED_NAN. */
  103.     DISCRETE_CUMULATIVE_PROBABILITY_RETURNED_NAN("Discrete cumulative probability function returned NaN for argument {0}"),

  104.     /** DISTRIBUTION_NOT_LOADED. */
  105.     DISTRIBUTION_NOT_LOADED("distribution not loaded"),

  106.     /** DUPLICATED_ABSCISSA_DIVISION_BY_ZERO. */
  107.     DUPLICATED_ABSCISSA_DIVISION_BY_ZERO("duplicated abscissa {0} causes division by zero"),

  108.     /** EMPTY_INTERPOLATION_SAMPLE. */
  109.     EMPTY_INTERPOLATION_SAMPLE("sample for interpolation is empty"),

  110.     /** EMPTY_POLYNOMIALS_COEFFICIENTS_ARRAY. */
  111.     EMPTY_POLYNOMIALS_COEFFICIENTS_ARRAY("empty polynomials coefficients array"), /* keep */

  112.     /** EMPTY_SELECTED_COLUMN_INDEX_ARRAY. */
  113.     EMPTY_SELECTED_COLUMN_INDEX_ARRAY("empty selected column index array"),

  114.     /** EMPTY_SELECTED_ROW_INDEX_ARRAY. */
  115.     EMPTY_SELECTED_ROW_INDEX_ARRAY("empty selected row index array"),

  116.     /** ENDPOINTS_NOT_AN_INTERVAL. */
  117.     ENDPOINTS_NOT_AN_INTERVAL("endpoints do not specify an interval: [{0}, {1}]"),

  118.     /** EVALUATION. */
  119.     EVALUATION("evaluation"), /* keep */

  120.     /** EXPANSION_FACTOR_SMALLER_THAN_ONE. */
  121.     EXPANSION_FACTOR_SMALLER_THAN_ONE("expansion factor smaller than one ({0})"),

  122.     /** FACTORIAL_NEGATIVE_PARAMETER. */
  123.     FACTORIAL_NEGATIVE_PARAMETER("must have n >= 0 for n!, got n = {0}"),

  124.     /** FAILED_BRACKETING. */
  125.     FAILED_BRACKETING("number of iterations={4}, maximum iterations={5}, initial={6}, lower bound={7}, upper bound={8}, final a value={0}, final b value={1}, f(a)={2}, f(b)={3}"),

  126.     /** FAILED_DECOMPOSITION. */
  127.     FAILED_DECOMPOSITION("failed decomposition of a {0}x{1} matrix"),

  128.     /** FAILED_FRACTION_CONVERSION. */
  129.     FAILED_FRACTION_CONVERSION("Unable to convert {0} to fraction after {1} iterations"),

  130.     /** FIRST_COLUMNS_NOT_INITIALIZED_YET. */
  131.     FIRST_COLUMNS_NOT_INITIALIZED_YET("first {0} columns are not initialized yet"),

  132.     /** FIRST_ROWS_NOT_INITIALIZED_YET. */
  133.     FIRST_ROWS_NOT_INITIALIZED_YET("first {0} rows are not initialized yet"),

  134.     /** FRACTION_CONVERSION_OVERFLOW. */
  135.     FRACTION_CONVERSION_OVERFLOW("Overflow trying to convert {0} to fraction ({1}/{2})"),

  136.     /** GCD_OVERFLOW_32_BITS. */
  137.     GCD_OVERFLOW_32_BITS("overflow: gcd({0}, {1}) is 2^31"),

  138.     /** GCD_OVERFLOW_64_BITS. */
  139.     GCD_OVERFLOW_64_BITS("overflow: gcd({0}, {1}) is 2^63"),

  140.     /** ILL_CONDITIONED_OPERATOR. */
  141.     ILL_CONDITIONED_OPERATOR("condition number {1} is too high "),

  142.     /** INDEX_LARGER_THAN_MAX. */
  143.     INDEX_LARGER_THAN_MAX("the index specified: {0} is larger than the current maximal index {1}"),

  144.     /** INDEX_NOT_POSITIVE. */
  145.     INDEX_NOT_POSITIVE("index ({0}) is not positive"),

  146.     /** INDEX. */
  147.     INDEX("index ({0})"), /* keep */

  148.     /** NOT_FINITE_NUMBER. */
  149.     NOT_FINITE_NUMBER("{0} is not a finite number"), /* keep */

  150.     /** INFINITE_BOUND. */
  151.     INFINITE_BOUND("interval bounds must be finite"),

  152.     /** ARRAY_ELEMENT. */
  153.     ARRAY_ELEMENT("value {0} at index {1}"), /* keep */

  154.     /** INFINITE_ARRAY_ELEMENT. */
  155.     INFINITE_ARRAY_ELEMENT("Array contains an infinite element, {0} at index {1}"),

  156.     /** INFINITE_VALUE_CONVERSION. */
  157.     INFINITE_VALUE_CONVERSION("cannot convert infinite value"),

  158.     /** INITIAL_CAPACITY_NOT_POSITIVE. */
  159.     INITIAL_CAPACITY_NOT_POSITIVE("initial capacity ({0}) is not positive"),

  160.     /** INITIAL_COLUMN_AFTER_FINAL_COLUMN. */
  161.     INITIAL_COLUMN_AFTER_FINAL_COLUMN("initial column {1} after final column {0}"),

  162.     /** INITIAL_ROW_AFTER_FINAL_ROW. */
  163.     INITIAL_ROW_AFTER_FINAL_ROW("initial row {1} after final row {0}"),

  164.     /** INSUFFICIENT_DATA. */
  165.     INSUFFICIENT_DATA("insufficient data"),

  166.     /** INSUFFICIENT_DIMENSION. */
  167.     INSUFFICIENT_DIMENSION("insufficient dimension {0}, must be at least {1}"),

  168.     /** DIMENSION. */
  169.     DIMENSION("dimension ({0})"), /* keep */

  170.     /** INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE. */
  171.     INSUFFICIENT_OBSERVED_POINTS_IN_SAMPLE("sample contains {0} observed points, at least {1} are required"),

  172.     /** INSUFFICIENT_ROWS_AND_COLUMNS. */
  173.     INSUFFICIENT_ROWS_AND_COLUMNS("insufficient data: only {0} rows and {1} columns."),

  174.     /** INTERNAL_ERROR. */
  175.     INTERNAL_ERROR("internal error, please fill a bug report at {0}"),

  176.     /** INVALID_MAX_ITERATIONS. */
  177.     INVALID_MAX_ITERATIONS("bad value for maximum iterations number: {0}"),

  178.     /** ITERATIONS. */
  179.     ITERATIONS("iterations"), /* keep */

  180.     /** LCM_OVERFLOW_32_BITS. */
  181.     LCM_OVERFLOW_32_BITS("overflow: lcm({0}, {1}) is 2^31"),

  182.     /** LCM_OVERFLOW_64_BITS. */
  183.     LCM_OVERFLOW_64_BITS("overflow: lcm({0}, {1}) is 2^63"),

  184.     /** LOWER_BOUND_NOT_BELOW_UPPER_BOUND. */
  185.     LOWER_BOUND_NOT_BELOW_UPPER_BOUND("lower bound ({0}) must be strictly less than upper bound ({1})"), /* keep */

  186.     /** LOWER_ENDPOINT_ABOVE_UPPER_ENDPOINT. */
  187.     LOWER_ENDPOINT_ABOVE_UPPER_ENDPOINT("lower endpoint ({0}) must be less than or equal to upper endpoint ({1})"),

  188.     /** EVALUATIONS. */
  189.     EVALUATIONS("evaluations"), /* keep */

  190.     /** MAX_COUNT_EXCEEDED. */
  191.     MAX_COUNT_EXCEEDED("maximal count ({0}) exceeded"), /* keep */

  192.     /** NAN_ELEMENT_AT_INDEX. */
  193.     NAN_ELEMENT_AT_INDEX("element {0} is NaN"),

  194.     /** NAN_VALUE_CONVERSION. */
  195.     NAN_VALUE_CONVERSION("cannot convert NaN value"),

  196.     /** NEGATIVE_DEFINITE_MATRIX. */
  197.     NEGATIVE_DEFINITE_MATRIX("negative definite matrix"),

  198.     /** NEGATIVE_COMPLEX_MODULE. */
  199.     NEGATIVE_COMPLEX_MODULE("negative complex module {0}"),

  200.     /** NEGATIVE_ELEMENT_AT_INDEX. */
  201.     NEGATIVE_ELEMENT_AT_INDEX("element {0} is negative: {1}"),

  202.     /** NUMBER_OF_SUCCESSES. */
  203.     NUMBER_OF_SUCCESSES("number of successes ({0})"), /* keep */

  204.     /** NUMBER_OF_INTERPOLATION_POINTS. */
  205.     NUMBER_OF_INTERPOLATION_POINTS("number of interpolation points ({0})"), /* keep */

  206.     /** NUMBER_OF_TRIALS. */
  207.     NUMBER_OF_TRIALS("number of trials ({0})"),

  208.     /** ROBUSTNESS_ITERATIONS. */
  209.     ROBUSTNESS_ITERATIONS("number of robustness iterations ({0})"),

  210.     /** START_POSITION. */
  211.     START_POSITION("start position ({0})"), /* keep */

  212.     /** NON_CONVERGENT_CONTINUED_FRACTION. */
  213.     NON_CONVERGENT_CONTINUED_FRACTION("Continued fraction convergents failed to converge (in less than {0} iterations) for value {1}"),

  214.     /** NON_SQUARE_MATRIX. */
  215.     NON_SQUARE_MATRIX("non square ({0}x{1}) matrix"),

  216.     /** NORM. */
  217.     NORM("Norm ({0})"), /* keep */

  218.     /** NORMALIZE_INFINITE. */
  219.     NORMALIZE_INFINITE("Cannot normalize to an infinite value"),

  220.     /** NORMALIZE_NAN. */
  221.     NORMALIZE_NAN("Cannot normalize to NaN"),

  222.     /** NOT_DECREASING_SEQUENCE. */
  223.     NOT_DECREASING_SEQUENCE("points {3} and {2} are not decreasing ({1} < {0})"), /* keep */

  224.     /** NOT_ENOUGH_POINTS_IN_SPLINE_PARTITION. */
  225.     NOT_ENOUGH_POINTS_IN_SPLINE_PARTITION("spline partition must have at least {0} points, got {1}"),

  226.     /** NOT_INCREASING_SEQUENCE. */
  227.     NOT_INCREASING_SEQUENCE("points {3} and {2} are not increasing ({1} > {0})"), /* keep */

  228.     /** NOT_POSITIVE_DEFINITE_MATRIX. */
  229.     NOT_POSITIVE_DEFINITE_MATRIX("not positive definite matrix"), /* keep */

  230.     /** NON_POSITIVE_DEFINITE_OPERATOR. */
  231.     NON_POSITIVE_DEFINITE_OPERATOR("non positive definite linear operator"), /* keep */

  232.     /** NON_SELF_ADJOINT_OPERATOR. */
  233.     NON_SELF_ADJOINT_OPERATOR("non self-adjoint linear operator"), /* keep */

  234.     /** NON_SQUARE_OPERATOR. */
  235.     NON_SQUARE_OPERATOR("non square ({0}x{1}) linear operator"), /* keep */

  236.     /** DEGREES_OF_FREEDOM. */
  237.     DEGREES_OF_FREEDOM("degrees of freedom ({0})"), /* keep */

  238.     /** NOT_POSITIVE_EXPONENT. */
  239.     NOT_POSITIVE_EXPONENT("invalid exponent {0} (must be positive)"),

  240.     /** NUMBER_OF_ELEMENTS_SHOULD_BE_POSITIVE. */
  241.     NUMBER_OF_ELEMENTS_SHOULD_BE_POSITIVE("number of elements should be positive ({0})"),

  242.     /** BASE. */
  243.     BASE("base ({0})"), /* keep */

  244.     /** EXPONENT. */
  245.     EXPONENT("exponent ({0})"), /* keep */

  246.     /** LENGTH. */
  247.     LENGTH("length ({0})"), /* keep */

  248.     /** MEAN. */
  249.     MEAN("mean ({0})"), /* keep */

  250.     /** NOT_POSITIVE_NUMBER_OF_SAMPLES. */
  251.     NOT_POSITIVE_NUMBER_OF_SAMPLES("number of sample is not positive: {0}"),

  252.     /** NUMBER_OF_SAMPLES. */
  253.     NUMBER_OF_SAMPLES("number of samples ({0})"), /* keep */

  254.     /** PERMUTATION_SIZE. */
  255.     PERMUTATION_SIZE("permutation size ({0}"), /* keep */

  256.     /** POPULATION_SIZE. */
  257.     POPULATION_SIZE("population size ({0})"), /* keep */

  258.     /** NOT_POSITIVE_SCALE. */
  259.     NOT_POSITIVE_SCALE("scale must be positive ({0})"),

  260.     /** SCALE. */
  261.     SCALE("scale ({0})"), /* keep */

  262.     /** SHAPE. */
  263.     SHAPE("shape ({0})"), /* keep */

  264.     /** STANDARD_DEVIATION. */
  265.     STANDARD_DEVIATION("standard deviation ({0})"), /* keep */

  266.     /** NOT_POSITIVE_WINDOW_SIZE. */
  267.     NOT_POSITIVE_WINDOW_SIZE("window size must be positive ({0})"),

  268.     /** NOT_STRICTLY_DECREASING_SEQUENCE. */
  269.     NOT_STRICTLY_DECREASING_SEQUENCE("points {3} and {2} are not strictly decreasing ({1} <= {0})"), /* keep */

  270.     /** NOT_STRICTLY_INCREASING_SEQUENCE. */
  271.     NOT_STRICTLY_INCREASING_SEQUENCE("points {3} and {2} are not strictly increasing ({1} >= {0})"), /* keep */

  272.     /** NON_SYMMETRIC_MATRIX. */
  273.     NON_SYMMETRIC_MATRIX("non symmetric matrix: the difference between entries at ({0},{1}) and ({1},{0}) is larger than {2}"), /* keep */

  274.     /** NO_CONVERGENCE_WITH_ANY_START_POINT. */
  275.     NO_CONVERGENCE_WITH_ANY_START_POINT("none of the {0} start points lead to convergence"), /* keep */

  276.     /** NO_DATA. */
  277.     NO_DATA("no data"), /* keep */

  278.     /** NO_OPTIMUM_COMPUTED_YET. */
  279.     NO_OPTIMUM_COMPUTED_YET("no optimum computed yet"), /* keep */

  280.     /** NAN_NOT_ALLOWED. */
  281.     NAN_NOT_ALLOWED("NaN is not allowed"),

  282.     /** NULL_NOT_ALLOWED. */
  283.     NULL_NOT_ALLOWED("null is not allowed"), /* keep */

  284.     /** ARRAY_ZERO_LENGTH_OR_NULL_NOT_ALLOWED. */
  285.     ARRAY_ZERO_LENGTH_OR_NULL_NOT_ALLOWED("a null or zero length array not allowed"),

  286.     /** DENOMINATOR. */
  287.     DENOMINATOR("denominator"), /* keep */

  288.     /** DENOMINATOR_FORMAT. */
  289.     DENOMINATOR_FORMAT("denominator format"), /* keep */

  290.     /** FRACTION. */
  291.     FRACTION("fraction"), /* keep */

  292.     /** FUNCTION. */
  293.     FUNCTION("function"), /* keep */

  294.     /** IMAGINARY_FORMAT. */
  295.     IMAGINARY_FORMAT("imaginary format"), /* keep */

  296.     /** INPUT_ARRAY. */
  297.     INPUT_ARRAY("input array"), /* keep */

  298.     /** NUMERATOR. */
  299.     NUMERATOR("numerator"), /* keep */

  300.     /** NUMERATOR_FORMAT. */
  301.     NUMERATOR_FORMAT("numerator format"), /* keep */

  302.     /** REAL_FORMAT. */
  303.     REAL_FORMAT("real format"), /* keep */

  304.     /** WHOLE_FORMAT. */
  305.     WHOLE_FORMAT("whole format"), /* keep */

  306.     /** NUMBER_TOO_LARGE. */
  307.     NUMBER_TOO_LARGE("{0} is larger than the maximum ({1})"), /* keep */

  308.     /** NUMBER_TOO_SMALL. */
  309.     NUMBER_TOO_SMALL("{0} is smaller than the minimum ({1})"), /* keep */

  310.     /** NUMBER_TOO_LARGE_BOUND_EXCLUDED. */
  311.     NUMBER_TOO_LARGE_BOUND_EXCLUDED("{0} is larger than, or equal to, the maximum ({1})"), /* keep */

  312.     /** NUMBER_TOO_SMALL_BOUND_EXCLUDED. */
  313.     NUMBER_TOO_SMALL_BOUND_EXCLUDED("{0} is smaller than, or equal to, the minimum ({1})"), /* keep */

  314.     /** NUMBER_OF_SUCCESS_LARGER_THAN_POPULATION_SIZE. */
  315.     NUMBER_OF_SUCCESS_LARGER_THAN_POPULATION_SIZE("number of successes ({0}) must be less than or equal to population size ({1})"),

  316.     /** NUMERATOR_OVERFLOW_AFTER_MULTIPLY. */
  317.     NUMERATOR_OVERFLOW_AFTER_MULTIPLY("overflow, numerator too large after multiply: {0}"),

  318.     /** OBSERVED_COUNTS_BOTTH_ZERO_FOR_ENTRY. */
  319.     OBSERVED_COUNTS_BOTTH_ZERO_FOR_ENTRY("observed counts are both zero for entry {0}"),

  320.     /** OUT_OF_RANGE_ROOT_OF_UNITY_INDEX. */
  321.     OUT_OF_RANGE_ROOT_OF_UNITY_INDEX("out of range root of unity index {0} (must be in [{1};{2}])"),

  322.     /** OUT_OF_RANGE. */
  323.     OUT_OF_RANGE("out of range"), /* keep */

  324.     /** OUT_OF_RANGE_SIMPLE. */
  325.     OUT_OF_RANGE_SIMPLE("{0} out of [{1}, {2}] range"), /* keep */

  326.     /** OUT_OF_RANGE_LEFT. */
  327.     OUT_OF_RANGE_LEFT("{0} out of ({1}, {2}] range"),

  328.     /** OVERFLOW. */
  329.     OVERFLOW("overflow"), /* keep */

  330.     /** OVERFLOW_IN_FRACTION. */
  331.     OVERFLOW_IN_FRACTION("overflow in fraction {0}/{1}, cannot negate"),

  332.     /** OVERFLOW_IN_ADDITION. */
  333.     OVERFLOW_IN_ADDITION("overflow in addition: {0} + {1}"),

  334.     /** OVERFLOW_IN_SUBTRACTION. */
  335.     OVERFLOW_IN_SUBTRACTION("overflow in subtraction: {0} - {1}"),

  336.     /** OVERFLOW_IN_MULTIPLICATION. */
  337.     OVERFLOW_IN_MULTIPLICATION("overflow in multiplication: {0} * {1}"),

  338.     /** PERMUTATION_EXCEEDS_N. */
  339.     PERMUTATION_EXCEEDS_N("permutation size ({0}) exceeds permuation domain ({1})"), /* keep */

  340.     /** POLYNOMIAL. */
  341.     POLYNOMIAL("polynomial"), /* keep */

  342.     /** ROOTS_OF_UNITY_NOT_COMPUTED_YET. */
  343.     ROOTS_OF_UNITY_NOT_COMPUTED_YET("roots of unity have not been computed yet"),

  344.     /** ROW_INDEX. */
  345.     ROW_INDEX("row index ({0})"), /* keep */

  346.     /** NOT_BRACKETING_INTERVAL. */
  347.     NOT_BRACKETING_INTERVAL("interval does not bracket a root: f({0,number,##0.################E0}) = {2,number,##0.################E0}, f({1,number,##0.################E0}) = {3,number,##0.################E0}"),

  348.     /** START_POINT_NOT_IN_INTERVAL. */
  349.     START_POINT_NOT_IN_INTERVAL("The start point {0} is not in the interval [{1}, {2}]"),

  350.     /** SAMPLE_SIZE_EXCEEDS_COLLECTION_SIZE. */
  351.     SAMPLE_SIZE_EXCEEDS_COLLECTION_SIZE("sample size ({0}) exceeds collection size ({1})"), /* keep */

  352.     /** SAMPLE_SIZE_LARGER_THAN_POPULATION_SIZE. */
  353.     SAMPLE_SIZE_LARGER_THAN_POPULATION_SIZE("sample size ({0}) must be less than or equal to population size ({1})"),

  354.     /** SIMPLE_MESSAGE. */
  355.     SIMPLE_MESSAGE("{0}"),

  356.     /** SINGULAR_MATRIX. */
  357.     SINGULAR_MATRIX("matrix is singular"), /* keep */

  358.     /** SINGULAR_OPERATOR. */
  359.     SINGULAR_OPERATOR("operator is singular"),

  360.     /** SUBARRAY_ENDS_AFTER_ARRAY_END. */
  361.     SUBARRAY_ENDS_AFTER_ARRAY_END("subarray ends after array end"),

  362.     /** TOO_LARGE_CUTOFF_SINGULAR_VALUE. */
  363.     TOO_LARGE_CUTOFF_SINGULAR_VALUE("cutoff singular value is {0}, should be at most {1}"),

  364.     /** TOO_MANY_ELEMENTS_TO_DISCARD_FROM_ARRAY. */
  365.     TOO_MANY_ELEMENTS_TO_DISCARD_FROM_ARRAY("cannot discard {0} elements from a {1} elements array"),

  366.     /** UNKNOWN_MODE. */
  367.     UNKNOWN_MODE("unknown mode {0}, known modes: {1} ({2}), {3} ({4}), {5} ({6}), {7} ({8}), {9} ({10}) and {11} ({12})"),

  368.     /** CANNOT_PARSE_AS_TYPE. */
  369.     CANNOT_PARSE_AS_TYPE("string \"{0}\" unparseable (from position {1}) as an object of type {2}"), /* keep */

  370.     /** CANNOT_PARSE. */
  371.     CANNOT_PARSE("string \"{0}\" unparseable (from position {1})"), /* keep */

  372.     /** UNSUPPORTED_OPERATION. */
  373.     UNSUPPORTED_OPERATION("unsupported operation"), /* keep */

  374.     /** ARITHMETIC_EXCEPTION. */
  375.     ARITHMETIC_EXCEPTION("arithmetic exception"), /* keep */

  376.     /** ILLEGAL_STATE. */
  377.     ILLEGAL_STATE("illegal state"), /* keep */

  378.     /** USER_EXCEPTION. */
  379.     USER_EXCEPTION("exception generated in user code"), /* keep */

  380.     /** URL_CONTAINS_NO_DATA. */
  381.     URL_CONTAINS_NO_DATA("URL {0} contains no data"),

  382.     /** VECTOR_MUST_HAVE_AT_LEAST_ONE_ELEMENT. */
  383.     VECTOR_MUST_HAVE_AT_LEAST_ONE_ELEMENT("vector must have at least one element"),

  384.     /** WEIGHT_AT_LEAST_ONE_NON_ZERO. */
  385.     WEIGHT_AT_LEAST_ONE_NON_ZERO("weight array must contain at least one non-zero value"),

  386.     /** WRONG_NUMBER_OF_POINTS. */
  387.     WRONG_NUMBER_OF_POINTS("{0} points are required, got only {1}"),

  388.     /** NUMBER_OF_POINTS. */
  389.     NUMBER_OF_POINTS("number of points ({0})"), /* keep */

  390.     /** ZERO_DENOMINATOR. */
  391.     ZERO_DENOMINATOR("denominator must be different from 0"), /* keep */

  392.     /** ZERO_DENOMINATOR_IN_FRACTION. */
  393.     ZERO_DENOMINATOR_IN_FRACTION("zero denominator in fraction {0}/{1}"),

  394.     /** ZERO_FRACTION_TO_DIVIDE_BY. */
  395.     ZERO_FRACTION_TO_DIVIDE_BY("the fraction to divide by must not be zero: {0}/{1}"),

  396.     /** ZERO_NORM. */
  397.     ZERO_NORM("zero norm"),

  398.     /** ZERO_NOT_ALLOWED. */
  399.     ZERO_NOT_ALLOWED("zero not allowed here"),

  400.     /** ZERO_STATE_SIZE. */
  401.     ZERO_STATE_SIZE("state dimension must be different from 0"),

  402.     /** RIGHT_EDGE_GREATER_THAN_LEFT_EDGE. */
  403.     RIGHT_EDGE_GREATER_THAN_LEFT_EDGE("left edge {0} should be smaller than right edge {1}"),

  404.     /** INPUT_EXPECTED_BETWEEN_ZERO_AND_ONE_INCLUDED. */
  405.     INPUT_EXPECTED_BETWEEN_ZERO_AND_ONE_INCLUDED("input {0} is expected to be between [0:1]");

  406.     /** Source English format. */
  407.     private final String sourceFormat;

  408.     /** Simple constructor.
  409.      * @param sourceFormat source English format to use when no
  410.      * localized version is available
  411.      */
  412.     LocalizedCoreFormats(final String sourceFormat) {
  413.         this.sourceFormat = sourceFormat;
  414.     }

  415.     /** {@inheritDoc} */
  416.     @Override
  417.     public String getSourceString() {
  418.         return sourceFormat;
  419.     }

  420.     /** {@inheritDoc} */
  421.     @Override
  422.     public String getLocalizedString(final Locale locale) {
  423.         return getLocalizedString("assets/" + LocalizedCoreFormats.class.getName().replaceAll("\\.", "/"),
  424.                                   name(), locale);
  425.     }

  426. }