| 617 | } |
| 618 | |
| 619 | double |
| 620 | Vector::pNorm(int p) const |
| 621 | { |
| 622 | double value = 0; |
| 623 | |
| 624 | if (p>0) { |
| 625 | for (int i=0; i<sz; i++) { |
| 626 | double data = fabs(theData[i]); |
| 627 | value += pow(data,p); |
| 628 | } |
| 629 | return pow(value,1.0/p); |
| 630 | } else { |
| 631 | for (int i=0; i<sz; i++) { |
| 632 | double data = fabs(theData[i]); |
| 633 | value = (data>value) ? data : value; |
| 634 | } |
| 635 | return value; |
| 636 | } |
| 637 | } |
| 638 | |
| 639 | |
| 640 | double & |