transition/src/main/java/androidx/transition/FloatArrayEvaluator.java
@Override
    public float[] evaluate(float fraction, float[] startValue, float[] endValue) {
        float[] array = mArray;
        if (array == null) {
            array = new float[startValue.length];
        }

        for (int i = 0; i < array.length; i++) {
            float start = startValue[i];
            float end = endValue[i];
            array[i] = start + (fraction * (end - start));
        }
        return array;
    }
/**
     * Interpolates the value at each index by the fraction. If
     * {@link #FloatArrayEvaluator(float[])} was used to construct this object,
     * <code>reuseArray</code> will be returned, otherwise a new <code>float[]</code>
     * will be returned.
     *
     * @param fraction   The fraction from the starting to the ending values
     * @param startValue The start value.
     * @param endValue   The end value.
     * @return A <code>float[]</code> where each element is an interpolation between
     * the same index in startValue and endValue.
     */
Interpolates the value at each index by the fraction. If
#FloatArrayEvaluator(float[]) was used to construct this object,
reuseArray will be returned, otherwise a new float[]
will be returned.

@param fraction   The fraction from the starting to the ending values
@param startValue The start value.
@param endValue   The end value.
@return A float[] where each element is an interpolation between
the same index in startValue and endValue.
Interpolates the value at each index by the fraction . If #FloatArrayEvaluator ( float [] ) was used to construct this object reuseArray will be returned otherwise a new float [] will be returned . @param fraction The fraction from the starting to the ending values @param startValue The start value . @param endValue The end value . @return A float [] where each element is an interpolation between the same index in startValue and endValue .
@Override
    public float[] evaluate(float fraction, float[] startValue, float[] endValue) {
        float[] array = mArray;
        if (array == null) {
            array = new float[startValue.length];
        }
        for (int i = 0; i < array.length; i++) {
            float start = startValue[i];
            float end = endValue[i];
            array[i] = start + (fraction * (end - start));
        }
        return array;
    }
@ Override public float [ ] evaluate ( float fraction , float [ ] startValue , float [ ] endValue ) { float [ ] array = mArray ; if ( array == null ) { array = new float [ startValue . length ] ; } for ( int i = 0 ; i < array . length ; i ++ ) { float start = startValue [ i ] ; float end = endValue [ i ] ; array [ i ] = start + ( fraction * ( end - start ) ) ; } return array ; }
Interpolates the value at each index by the fraction.
Interpolates the value at each index by the fraction .