// Path: src/roquen/fake/Vect2f.java
// public class Vect2f {
//   public float x,y;
//   
//   public Vect2f set(float x, float y)
//   {
//     this.x=x; this.y=y;
//     return this;
//   }
//   
//   
//   /** */
//   private static final int HASH = hashMakeSeed(0);
//   
//   @Override
//   public int hashCode()
//   {
//     return hashComplete(hashAdd(HASH,x,y));
//   }
// }


import roquen.fake.Vect2f;
import roquen.math.sfc.*;

    // cell boundary.
    cx = 1/dx;
    cy = 1/dy;
    
    // cross time accumulators. Initialized to
    // the first cross time.
    ax = cx * (1.0-(x0-x));
    ay = cy * (1.0-(y0-y));
    
    // movement directions
    ux = dx >= 0;
    uy = dy >= 0;
    
    // TODO: temp hack
    int ex = (int)x1;
    int ey = (int)y1;
    int nx = Math.abs(ex-x);
    int ny = Math.abs(ey-y);
    int n;
    
    // todo: compute number of off major axis steps
    if (nx > ny) {
      n = nx;
    } else {
      n = ny;
    }
    
    return n;
  }
  

// Path: src/roquen/fake/Vect2f.java
// public class Vect2f {
//   public float x,y;
//   
//   public Vect2f set(float x, float y)
//   {
//     this.x=x; this.y=y;
//     return this;
//   }
//   
//   
//   /** */
//   private static final int HASH = hashMakeSeed(0);
//   
//   @Override
//   public int hashCode()
//   {
//     return hashComplete(hashAdd(HASH,x,y));
//   }
// }


// Path: src/roquen/interp/IndexedRayGrid2D.java
import roquen.fake.Vect2f;
import roquen.math.sfc.*;

    // cell boundary.
    cx = 1/dx;
    cy = 1/dy;
    
    // cross time accumulators. Initialized to
    // the first cross time.
    ax = cx * (1.0-(x0-x));
    ay = cy * (1.0-(y0-y));
    
    // movement directions
    ux = dx >= 0;
    uy = dy >= 0;
    
    // TODO: temp hack
    int ex = (int)x1;
    int ey = (int)y1;
    int nx = Math.abs(ex-x);
    int ny = Math.abs(ey-y);
    int n;
    
    // todo: compute number of off major axis steps
    if (nx > ny) {
      n = nx;
    } else {
      n = ny;
    }
    
    return n;
  }
  

  public int set(Vect2f p0, Vect2f p1)
