cubeRound function
Rounds a 'double' cube to the nearest 'int' cube.
Implementation
Cube cubeRound(double q, double r, double s) {
var rq = q.round();
var rr = r.round();
var rs = s.round();
var qDiff = (rq - q).abs();
var rDiff = (rr - r).abs();
var sDiff = (rs - s).abs();
if (qDiff > rDiff && qDiff > sDiff) {
rq = -rr - rs;
} else if (rDiff > sDiff) {
rr = -rq - rs;
} else {
rs = -rq - rr;
}
return Cube(rq, rr, rs);
}