C-impl, outer now returns a point array instead of a double array