@@ -0,0 +1,1275 @@
+package org.grouplens.lenskit.norm;%0A%0A/**%0A * Quantize real values into discrete values. Used to do things like map floating point%0A * ratings or predictions to discrete rating values.%0A *%0A * @review Is this the right package for this interface?%0A *%0A * @author Michael Ekstrand%0A */%0Apublic interface Quantizer %7B%0A    /**%0A     * Get the possible values into which this quantizer will map input values. These%0A     * are the values corresponding to each %E2%80%9Cbin%E2%80%9D into which the quantizer will put%0A     * values.%0A     * @return The values of the discrete bins.%0A     */%0A    double%5B%5D getValues();%0A%0A    /**%0A     * Get the value corresponding to a quantized value.%0A     * @param i The quantized value number, in the range %5B0,n) where n is the number of%0A     *          possible discrete values (see %7B@link #getCount()%7D).%0A     * @return The value corresponding to quantum %7B@code i%7D.%0A     */%0A    double getValue(int i);%0A%0A    /**%0A     * Get the number of discrete values the output can take.%0A     * @return The number of possible discrete values.%0A     */%0A    int getCount();%0A%0A    /**%0A     * Convert a value into a discrete, quantized value.%0A     * @param val A value to quantize.%0A     * @return The index of the discrete value to which %7B@code val%7D is mapped.%0A     */%0A    int apply(double val);%0A%7D%0A

Add the Quantizer interface