internal int besterror(float[] a, int step, int addmul)
{
int bestt=best(a,step);
switch(addmul)
{
case 0:
for(int i=0,o=0;i<dim;i++,o+=step)
a[o]-=valuelist[bestt*dim+i];
break;
case 1:
for(int i=0,o=0;i<dim;i++,o+=step)
{
float val=valuelist[bestt*dim+i];
if(val==0)
{
a[o]=0;
}
else
{
a[o]/=val;
}
}
break;
}
return(bestt);
}