for (j = Degm1; j >= i; j--) {
jDmi--;
- *pole -= *tbis; *pole /= (knot[jDmi] - knot[j]);
+ *pole -= *tbis;
+ *pole = (knot[jDmi] == knot[j]) ? 0.0 : *pole / (knot[jDmi] - knot[j]);
pole--;
tbis--;
}
for (j = Degm1; j >= i; j--) {
jDmi--;
- coef = 1. / (knot[jDmi] - knot[j]);
+ coef = (knot[jDmi] == knot[j]) ? 0.0 : 1. / (knot[jDmi] - knot[j]);
*pole -= *tbis; *pole *= coef; pole++; tbis++;
*pole -= *tbis; *pole *= coef;
pole -= 3;
for (j = Degm1; j >= i; j--) {
jDmi--;
- coef = 1. / (knot[jDmi] - knot[j]);
+ coef = (knot[jDmi] == knot[j]) ? 0.0 : 1. / (knot[jDmi] - knot[j]);
*pole -= *tbis; *pole *= coef; pole++; tbis++;
*pole -= *tbis; *pole *= coef; pole++; tbis++;
*pole -= *tbis; *pole *= coef;
for (j = Degm1; j >= i; j--) {
jDmi--;
- coef = 1. / (knot[jDmi] - knot[j]);
+ coef = (knot[jDmi] == knot[j]) ? 0.0 : 1. /(knot[jDmi] - knot[j]) ;
*pole -= *tbis; *pole *= coef; pole++; tbis++;
*pole -= *tbis; *pole *= coef; pole++; tbis++;
*pole -= *tbis; *pole *= coef; pole++; tbis++;
for (j = Degm1; j >= i; j--) {
jDmi--;
- coef = 1. / (knot[jDmi] - knot[j]);
+ coef = (knot[jDmi] == knot[j]) ? 0.0 : 1. / (knot[jDmi] - knot[j]);
for (k = 0; k < Dimension; k++) {
*pole -= *tbis; *pole *= coef; pole++; tbis++;