ndiffs function
Implementation
int ndiffs(List<double> x, {int maxD=2}) {
var cur=List<double>.from(x);
for (int d=0; d<=maxD; d++){
final r=adf(cur);
// ~5% kritik ~ -2.86 (intercept-only)
if (!r.tau.isNaN && r.tau < -2.86) return d;
if (d<maxD) {
// take one more difference
final nx=<double>[]; for (int i=1;i<cur.length;i++) nx.add(cur[i]-cur[i-1]); cur=nx;
}
}
return maxD;
}