goog.provide('ol.easing');

goog.require('goog.fx.easing');


/**
 * Start slow and speed up.
 * @function
 * @param {number} t Input between 0 and 1.
 * @return {number} Output between 0 and 1.
 * @api
 */
ol.easing.easeIn = goog.fx.easing.easeIn;


/**
 * Start fast and slow down.
 * @function
 * @param {number} t Input between 0 and 1.
 * @return {number} Output between 0 and 1.
 * @api
 */
ol.easing.easeOut = goog.fx.easing.easeOut;


/**
 * Start slow, speed up, and then slow down again.
 * @function
 * @param {number} t Input between 0 and 1.
 * @return {number} Output between 0 and 1.
 * @api
 */
ol.easing.inAndOut = goog.fx.easing.inAndOut;


/**
 * Maintain a constant speed over time.
 * @param {number} t Input between 0 and 1.
 * @return {number} Output between 0 and 1.
 * @api
 */
ol.easing.linear = function(t) {
  return t;
};


/**
 * Start slow, speed up, and at the very end slow down again.  This has the
 * same general behavior as {@link ol.easing.inAndOut}, but the final slowdown
 * is delayed.
 * @param {number} t Input between 0 and 1.
 * @return {number} Output between 0 and 1.
 * @api
 */
ol.easing.upAndDown = function(t) {
  if (t < 0.5) {
    return ol.easing.inAndOut(2 * t);
  } else {
    return 1 - ol.easing.inAndOut(2 * (t - 0.5));
  }
};

@@ -25,41 +25,8 @@
 );%0A%0A
-goog.require('goog.fx.easing');%0A%0A
 %0A/**
@@ -54,29 +54,16 @@
 eed up.%0A
- * @function%0A
  * @para
@@ -177,29 +177,48 @@
 n = 
-goog.fx.easing.easeIn
+function(t) %7B%0A  return Math.pow(t, 3);%0A%7D
 ;%0A%0A%0A
@@ -250,29 +250,16 @@
 w down.%0A
- * @function%0A
  * @para
@@ -374,30 +374,61 @@
 t = 
-goog.fx.easing.easeOut
+function(t) %7B%0A  return 1 - ol.easing.easeIn(1 - t);%0A%7D
 ;%0A%0A%0A
@@ -486,21 +486,8 @@
 in.%0A
- * @function%0A
  * @
@@ -607,31 +607,59 @@
 t = 
-goog.fx.easing.inAndOut
+function(t) %7B%0A  return 3 * t * t - 2 * t * t * t;%0A%7D
 ;%0A%0A%0A

Remove goog.fx.easing