Your message dated Mon, 18 Jul 2005 01:18:15 -0500 with message-id <[EMAIL PROTECTED]> and subject line Current version builds with gcc-{3.4,4.0} has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database) -------------------------------------- Received: (at submit) by bugs.debian.org; 13 Aug 2004 12:58:53 +0000 >From [EMAIL PROTECTED] Fri Aug 13 05:58:53 2004 Return-path: <[EMAIL PROTECTED]> Received: from d001029.adsl.hansenet.de (localhost) [80.171.1.29] by spohr.debian.org with esmtp (Exim 3.35 1 (Debian)) id 1Bvbdz-0003Uz-00; Fri, 13 Aug 2004 05:58:52 -0700 Received: from aj by localhost with local (Exim 4.34) id 1Bvbdz-0005Zh-Pq; Fri, 13 Aug 2004 14:58:51 +0200 To: Debian Bug Tracking System <[EMAIL PROTECTED]> From: Andreas Jochens <[EMAIL PROTECTED]> Subject: mcmcpack: FTBFS with gcc-3.4: `current_' undeclared (first use this function) Message-Id: <[EMAIL PROTECTED]> Date: Fri, 13 Aug 2004 14:58:51 +0200 Delivered-To: [EMAIL PROTECTED] X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 (1.212-2003-09-23-exp) on spohr.debian.org X-Spam-Status: No, hits=-5.2 required=4.0 tests=BAYES_40,HAS_PACKAGE autolearn=no version=2.60-bugs.debian.org_2004_03_25 X-Spam-Level: Package: mcmcpack Severity: normal Tags: patch When building 'mcmcpack' with gcc-3.4 I get the following error: Scythe_Matrix_Iterator.h: In member function `int SCYTHE::const_reverse_col_major_iterator<T>::get_index() const': Scythe_Matrix_Iterator.h:1654: error: `current_' undeclared (first use this function) Scythe_Matrix_Iterator.h:1655: error: `matrix_' undeclared (first use this function) In file included from MCMCbaselineDA.cc:9: Scythe_Matrix.h: At global scope: Scythe_Matrix.h:98: error: using typedef-name `SCYTHE::Matrix<T>::iterator' after `class' Scythe_Matrix.h:99: error: using typedef-name `SCYTHE::Matrix<T>::const_iterator' after `class' Scythe_Matrix.h:100: error: using typedef-name `SCYTHE::Matrix<T>::row_major_iterator' after `class' Scythe_Matrix.h:101: error: using typedef-name `SCYTHE::Matrix<T>::col_major_iterator' after `class' Scythe_Matrix.h:102: error: using typedef-name `SCYTHE::Matrix<T>::const_row_major_iterator' after `class' Scythe_Matrix.h:103: error: using typedef-name `SCYTHE::Matrix<T>::const_col_major_iterator' after `class' Scythe_Matrix.h:104: error: using typedef-name `SCYTHE::Matrix<T>::reverse_row_major_iterator' after `class' Scythe_Matrix.h:105: error: using typedef-name `SCYTHE::Matrix<T>::const_reverse_row_major_iterator' after `class' Scythe_Matrix.h:106: error: using typedef-name `SCYTHE::Matrix<T>::reverse_col_major_iterator' after `class' Scythe_Matrix.h:107: error: using typedef-name `SCYTHE::Matrix<T>::const_reverse_col_major_iterator' after `class' make[1]: *** [MCMCbaselineDA.o] Error 1 make[1]: Leaving directory `/mcmcpack-0.4-8/src' ERROR: compilation failed for package 'MCMCpack' With the attached patch 'mcmcpack' can be compiled using gcc-3.4. Regards Andreas Jochens diff -urN ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Matrix.h ./src/Scythe_Matrix.h --- ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Matrix.h 2004-02-04 18:01:57.000000000 +0100 +++ ./src/Scythe_Matrix.h 2004-08-13 14:53:15.692354609 +0200 @@ -94,7 +94,7 @@ reverse_col_major_iterator; typedef const_reverse_col_major_iterator<ttype> const_reverse_col_major_iterator; - +/* friend class iterator; friend class const_iterator; friend class row_major_iterator; @@ -105,7 +105,7 @@ friend class const_reverse_row_major_iterator; friend class reverse_col_major_iterator; friend class const_reverse_col_major_iterator; - +*/ /**** Constructors ****/ /* Default Constructor: Creates a Matrix of size 0. This @@ -635,6 +635,7 @@ delete[] temp; } +public: /**** Instance Variables ****/ int rows_; // # of rows int cols_; // # of cols diff -urN ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Matrix_Iterator.h ./src/Scythe_Matrix_Iterator.h --- ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Matrix_Iterator.h 2003-09-16 03:15:27.000000000 +0200 +++ ./src/Scythe_Matrix_Iterator.h 2004-08-13 14:53:15.694354305 +0200 @@ -95,13 +95,13 @@ // Provide read/write access to referent inline T &operator* () const { - return matrix_->data_[current_]; + return this->matrix_->data_[this->current_]; } // Provide read access to a member (if any) of referent inline T *operator-> () const { - return &(matrix_->data_[current_]); + return &(this->matrix_->data_[this->current_]); } /* Pre and postfix operators: note that the postfix operators @@ -154,18 +154,18 @@ /**** Figure out our current index ****/ int get_row() const { - return (int) (current_ / matrix_->cols()); + return (int) (this->current_ / this->matrix_->cols()); } int get_col() const { - int row = (int) (current_ / matrix_->cols()); - return (current_ - (row * matrix_->cols())); + int row = (int) (this->current_ / this->matrix_->cols()); + return (this->current_ - (row * this->matrix_->cols())); } int get_index () const { - return current_; + return this->current_; } protected: @@ -209,13 +209,13 @@ // Provide read/write access to referent inline const T &operator* () const { - return matrix_->data_[current_]; + return matrix_->data_[this->current_]; } // Provide read access to a member (if any) of referent inline const T *operator-> () const { - return &(matrix_->data_[current_]); + return &(this->matrix_->data_[this->current_]); } /* Pre and postfix operators: note that the postfix operators @@ -268,18 +268,18 @@ /**** Figure out our current index ****/ int get_row() const { - return (int) (current_ / matrix_->cols()); + return (int) (this->current_ / this->matrix_->cols()); } int get_col() const { - int row = (int) (current_ / matrix_->cols()); - return (current_ - (row * matrix_->cols())); + int row = (int) (this->current_ / this->matrix_->cols()); + return (this->current_ - (row * this->matrix_->cols())); } int get_index () const { - return current_; + return this->current_; } @@ -345,8 +345,8 @@ inline row_major_iterator<T> &operator= (const row_major_iterator &rmi) { - matrix_ = rmi.matrix_; - current_ = rmi.current_; + this->matrix_ = rmi.matrix_; + this->current_ = rmi.current_; return *this; } @@ -354,8 +354,8 @@ // Step forward, return new position inline row_major_iterator<T> &operator++ () { - if (current_ < matrix_->size()) - ++current_; + if (this->current_ < this->matrix_->size()) + ++this->current_; return *this; } @@ -374,8 +374,8 @@ // Step back, return new position inline row_major_iterator<T> &operator-- () { - if (current_ > 0) - --current_; + if (this->current_ > 0) + --this->current_; return *this; } @@ -394,18 +394,18 @@ // Provide access to the [nth] element XXX int? inline T &operator[] (const int &n) const { - return matrix_->data_[n]; + return this->matrix_->data_[n]; } // Step n elements inline row_major_iterator<T> &operator+= (const int &n) { - if (current_ + n > matrix_->size()) - current_ = matrix_->size(); - else if (current_ + n < 0) - current_ = 0; + if (this->current_ + n > this->matrix_->size()) + this->current_ = this->matrix_->size(); + else if (this->current_ + n < 0) + this->current_ = 0; else - current_ += n; + this->current_ += n; return *this; } @@ -420,7 +420,7 @@ inline std::ptrdiff_t operator- (const row_major_iterator<T> &rmi) const { - return current_ - rmi.current_; + return this->current_ - rmi.current_; } /**** Matrix Iterator Facilities ****/ @@ -428,35 +428,35 @@ // Jump forward the length of a row inline row_major_iterator<T> &plus_vec () { - return (*this += matrix_->cols()); + return (*this += this->matrix_->cols()); } // Jump forward the length of a row n times inline row_major_iterator<T> &plus_vec (const int &n) { - return (*this += (n * matrix_->cols())); + return (*this += (n * this->matrix_->cols())); } // Jump backward the length of a row inline row_major_iterator<T> &minus_vec () { - return (*this -= matrix_->cols()); + return (*this -= this->matrix_->cols()); } // Jump backward the length of a row n times inline row_major_iterator<T> &minus_vec (const int &n) { - return (*this -= (n * matrix_->cols())); + return (*this -= (n * this->matrix_->cols())); } // Jump to the beginnin of the next vector inline row_major_iterator<T> &next_vec () { - int cur_vec = (int) (current_ / matrix_->cols()); - if (cur_vec + 1 < matrix_->rows()) - current_ = (cur_vec + 1) * matrix_->cols(); + int cur_vec = (int) (this->current_ / this->matrix_->cols()); + if (cur_vec + 1 < this->matrix_->rows()) + this->current_ = (cur_vec + 1) * this->matrix_->cols(); else - current_ = matrix_->size(); + this->current_ = this->matrix_->size(); return *this; } @@ -464,13 +464,13 @@ // Jump to the beginning of the nth next vector inline row_major_iterator<T> &next_vec (const int &n) { - int cur_vec = (int) (current_ / matrix_->cols()); - if (cur_vec + n >= matrix_->rows()) - current_ = matrix_->size(); + int cur_vec = (int) (this->current_ / this->matrix_->cols()); + if (cur_vec + n >= this->matrix_->rows()) + this->current_ = this->matrix_->size(); else if (cur_vec + n <= 0) - current_ = 0; + this->current_ = 0; else - current_ = (cur_vec + n) * matrix_->cols(); + this->current_ = (cur_vec + n) * this->matrix_->cols(); return *this; } @@ -478,11 +478,11 @@ // Jump to the beginnin of the previous vector inline row_major_iterator<T> &prev_vec () { - int cur_vec = (int) (current_ / matrix_->cols()); + int cur_vec = (int) (this->current_ / this->matrix_->cols()); if (cur_vec > 0) - current_ = (cur_vec - 1) * matrix_->cols(); + this->current_ = (cur_vec - 1) * this->matrix_->cols(); else - current_ = 0; + this->current_ = 0; return *this; } @@ -555,8 +555,8 @@ inline const_row_major_iterator<T> &operator= (const const_row_major_iterator &rmi) { - matrix_ = rmi.matrix_; - current_ = rmi.current_; + this->matrix_ = rmi.matrix_; + this->current_ = rmi.current_; return *this; } @@ -564,8 +564,8 @@ // Step forward, return new position inline const_row_major_iterator<T> &operator++ () { - if (current_ < matrix_->size()) - ++current_; + if (this->current_ < this->matrix_->size()) + ++this->current_; return *this; } @@ -584,8 +584,8 @@ // Step back, return new position inline const_row_major_iterator<T> &operator-- () { - if (current_ > 0) - --current_; + if (this->current_ > 0) + --this->current_; return *this; } @@ -604,18 +604,18 @@ // Provide access to the [nth] element XXX int? inline const T &operator[] (const int &n) const { - return matrix_->data_[n]; + return this->matrix_->data_[n]; } // Step n elements inline const_row_major_iterator<T> &operator+= (const int &n) { - if (current_ + n > matrix_->size()) - current_ = matrix_->size(); - else if (current_ + n < 0) - current_ = 0; + if (this->current_ + n > this->matrix_->size()) + this->current_ = this->matrix_->size(); + else if (this->current_ + n < 0) + this->current_ = 0; else - current_ += n; + this->current_ += n; return *this; } @@ -630,7 +630,7 @@ inline std::ptrdiff_t operator- (const const_row_major_iterator<T> &rmi) const { - return current_ - rmi.current_; + return this->current_ - rmi.current_; } /**** Matrix Iterator Facilities ****/ @@ -638,35 +638,35 @@ // Jump forward the length of a row inline const_row_major_iterator<T> &plus_vec () { - return (*this += matrix_->cols()); + return (*this += this->matrix_->cols()); } // Jump forward the length of a row n times inline const_row_major_iterator<T> &plus_vec (const int &n) { - return (*this += (n * matrix_->cols())); + return (*this += (n * this->matrix_->cols())); } // Jump backward the length of a row inline const_row_major_iterator<T> &minus_vec () { - return (*this -= matrix_->cols()); + return (*this -= this->matrix_->cols()); } // Jump backward the length of a row n times inline const_row_major_iterator<T> &minus_vec (const int &n) { - return (*this -= (n * matrix_->cols())); + return (*this -= (n * this->matrix_->cols())); } // Jump to the beginnin of the next vector inline const_row_major_iterator<T> &next_vec () { - int cur_vec = (int) (current_ / matrix_->cols()); - if (cur_vec + 1 < matrix_->rows()) - current_ = (cur_vec + 1) * matrix_->cols(); + int cur_vec = (int) (this->current_ / this->matrix_->cols()); + if (cur_vec + 1 < this->matrix_->rows()) + this->current_ = (cur_vec + 1) * this->matrix_->cols(); else - current_ = matrix_->size(); + this->current_ = this->matrix_->size(); return *this; } @@ -674,13 +674,13 @@ // Jump to the beginning of the nth next vector inline const_row_major_iterator<T> &next_vec (const int &n) { - int cur_vec = (int) (current_ / matrix_->cols()); - if (cur_vec + n >= matrix_->rows()) - current_ = matrix_->size(); + int cur_vec = (int) (this->current_ / this->matrix_->cols()); + if (cur_vec + n >= this->matrix_->rows()) + this->current_ = this->matrix_->size(); else if (cur_vec + n <= 0) - current_ = 0; + this->current_ = 0; else - current_ = (cur_vec + n) * matrix_->cols(); + this->current_ = (cur_vec + n) * this->matrix_->cols(); return *this; } @@ -688,11 +688,11 @@ // Jump to the beginnin of the previous vector inline const_row_major_iterator<T> &prev_vec () { - int cur_vec = (int) (current_ / matrix_->cols()); + int cur_vec = (int) (this->current_ / this->matrix_->cols()); if (cur_vec > 0) - current_ = (cur_vec - 1) * matrix_->cols(); + this->current_ = (cur_vec - 1) * this->matrix_->cols(); else - current_ = 0; + this->current_ = 0; return *this; } @@ -761,8 +761,8 @@ inline col_major_iterator<T> &operator= (const col_major_iterator &cmi) { - matrix_ = cmi.matrix_; - current_ = cmi.current_; + this->matrix_ = cmi.matrix_; + this->current_ = cmi.current_; return *this; } @@ -770,14 +770,14 @@ // Step forward, return new position inline col_major_iterator<T> &operator++ () { - if (current_ >= matrix_->cols() * (matrix_->rows() - 1)) { - if (current_ >= matrix_->size() - 1) - current_ = matrix_->size(); + if (this->current_ >= this->matrix_->cols() * (this->matrix_->rows() - 1)) { + if (this->current_ >= this->matrix_->size() - 1) + this->current_ = this->matrix_->size(); else - current_ = (current_ + 1) - - (matrix_->rows() - 1) * matrix_->cols(); + this->current_ = (this->current_ + 1) - + (this->matrix_->rows() - 1) * this->matrix_->cols(); } else - current_ += matrix_->cols(); + this->current_ += this->matrix_->cols(); return *this; } @@ -795,14 +795,14 @@ // Step back, return new position inline col_major_iterator<T> &operator-- () { - if (current_ > 0) { - if (current_ == matrix_->size()) - --current_; - else if (current_ < matrix_->cols()) { - current_ = (current_ - 1) + - (matrix_->rows() - 1) * matrix_->cols(); + if (this->current_ > 0) { + if (this->current_ == this->matrix_->size()) + --this->current_; + else if (this->current_ < this->matrix_->cols()) { + this->current_ = (this->current_ - 1) + + (this->matrix_->rows() - 1) * this->matrix_->cols(); } else - current_ -= matrix_->cols(); + this->current_ -= this->matrix_->cols(); } return *this; @@ -821,10 +821,10 @@ // Provide access to the [nth] element XXX int? inline T &operator[] (const int &n) const { - int col = (int) (n / matrix_->rows()); - int row = n - (col * matrix_->rows()); + int col = (int) (n / this->matrix_->rows()); + int row = n - (col * this->matrix_->rows()); - return matrix_->data_[row * matrix_->cols_ + col]; + return this->matrix_->data_[row * this->matrix_->cols_ + col]; } // Step n elements @@ -832,24 +832,24 @@ { int cm; - if (current_ == matrix_->size()) - cm = current_; + if (this->current_ == this->matrix_->size()) + cm = this->current_; else { - int row = (int) (current_ / matrix_->cols()); - int col = current_ - (row * matrix_->cols()); - cm = col * matrix_->rows() + row; + int row = (int) (this->current_ / this->matrix_->cols()); + int col = this->current_ - (row * this->matrix_->cols()); + cm = col * this->matrix_->rows() + row; } cm += n; - if (cm >= matrix_->size()) - current_ = matrix_->size(); + if (cm >= this->matrix_->size()) + this->current_ = this->matrix_->size(); else if (cm <= 0) - current_ = 0; + this->current_ = 0; else { - int col = (int) (cm / matrix_->rows()); - int row = cm - (col * matrix_->rows()); - current_ = row * matrix_->cols() + col; + int col = (int) (cm / this->matrix_->rows()); + int row = cm - (col * this->matrix_->rows()); + this->current_ = row * this->matrix_->cols() + col; } return *this; @@ -866,20 +866,20 @@ (const col_major_iterator<T> &cmi) const { int cm, bcm; - if (current_ == matrix_->size()) - cm = current_; + if (this->current_ == this->matrix_->size()) + cm = this->current_; else { - int row = (int) (current_ / matrix_->cols()); - int col = current_ - (row * matrix_->cols()); - cm = col * matrix_->rows() + row; + int row = (int) (this->current_ / this->matrix_->cols()); + int col = this->current_ - (row * this->matrix_->cols()); + cm = col * this->matrix_->rows() + row; } - if (cmi.current_ == matrix_->size()) + if (cmi.current_ == this->matrix_->size()) bcm = cmi.current_; else { - int brow = (int) (cmi.current_ / matrix_->cols()); - int bcol = cmi.current_ - (brow * matrix_->cols()); - bcm = bcol * matrix_->rows() + brow; + int brow = (int) (cmi.current_ / this->matrix_->cols()); + int bcol = cmi.current_ - (brow * this->matrix_->cols()); + bcm = bcol * this->matrix_->rows() + brow; } return cm - bcm; @@ -890,36 +890,36 @@ // Jump forward the length of a row inline col_major_iterator<T> &plus_vec () { - return (*this += matrix_->rows()); + return (*this += this->matrix_->rows()); } // Jump forward the length of a row n times inline col_major_iterator<T> &plus_vec (const int &n) { - return (*this += (n * matrix_->rows())); + return (*this += (n * this->matrix_->rows())); } // Jump backward the length of a row inline col_major_iterator<T> &minus_vec () { - return (*this -= matrix_->rows()); + return (*this -= this->matrix_->rows()); } // Jump backward the length of a row n times inline col_major_iterator<T> &minus_vec (const int &n) { - return (*this -= (n * matrix_->rows())); + return (*this -= (n * this->matrix_->rows())); } // Jump to the beginnin of the next vector inline col_major_iterator<T> &next_vec () { - int col = (int) (current_ - - ((int) (current_ / matrix_->cols()) * matrix_->cols())); - if (col + 1 < matrix_->cols()) - current_ = col + 1; + int col = (int) (this->current_ - + ((int) (this->current_ / this->matrix_->cols()) * this->matrix_->cols())); + if (col + 1 < this->matrix_->cols()) + this->current_ = col + 1; else - current_ = matrix_->size(); + this->current_ = this->matrix_->size(); return *this; } @@ -927,14 +927,14 @@ // Jump to the beginning of the nth next vector inline col_major_iterator<T> &next_vec (const int &n) { - int col = (int) (current_ - - ((int) (current_ / matrix_->cols()) * matrix_->cols())); - if (col + n >= matrix_->cols()) - current_ = matrix_->size(); + int col = (int) (this->current_ - + ((int) (this->current_ / this->matrix_->cols()) * this->matrix_->cols())); + if (col + n >= this->matrix_->cols()) + this->current_ = this->matrix_->size(); else if (col + n <= 0) - current_ = 0; + this->current_ = 0; else - current_ = col + n; + this->current_ = col + n; return *this; } @@ -942,12 +942,12 @@ // Jump to the beginnin of the previous vector inline col_major_iterator<T> &prev_vec () { - int col = (int) (current_ - - ((int) (current_ / matrix_->cols()) * matrix_->cols())); + int col = (int) (this->current_ - + ((int) (this->current_ / this->matrix_->cols()) * this->matrix_->cols())); if (col - 1 > 0) - current_ = col - 1; + this->current_ = col - 1; else - current_ = 0; + this->current_ = 0; return *this; } @@ -1038,8 +1038,8 @@ inline const_col_major_iterator<T> &operator= (const const_col_major_iterator &cmi) { - matrix_ = cmi.matrix_; - current_ = cmi.current_; + this->matrix_ = cmi.matrix_; + this->current_ = cmi.current_; return *this; } @@ -1047,14 +1047,14 @@ // Step forward, return new position inline const_col_major_iterator<T> &operator++ () { - if (current_ >= matrix_->cols() * (matrix_->rows() - 1)) { - if (current_ >= matrix_->size() - 1) - current_ = matrix_->size(); + if (this->current_ >= this->matrix_->cols() * (this->matrix_->rows() - 1)) { + if (this->current_ >= this->matrix_->size() - 1) + this->current_ = this->matrix_->size(); else - current_ = (current_ + 1) - - (matrix_->rows() - 1) * matrix_->cols(); + this->current_ = (this->current_ + 1) - + (this->matrix_->rows() - 1) * this->matrix_->cols(); } else - current_ += matrix_->cols(); + this->current_ += this->matrix_->cols(); return *this; } @@ -1072,14 +1072,14 @@ // Step back, return new position inline const_col_major_iterator<T> &operator-- () { - if (current_ > 0) { - if (current_ == matrix_->size()) - --current_; - else if (current_ < matrix_->cols()) { - current_ = (current_ - 1) + - (matrix_->rows() - 1) * matrix_->cols(); + if (this->current_ > 0) { + if (this->current_ == this->matrix_->size()) + --this->current_; + else if (this->current_ < this->matrix_->cols()) { + this->current_ = (this->current_ - 1) + + (this->matrix_->rows() - 1) * this->matrix_->cols(); } else - current_ -= matrix_->cols(); + this->current_ -= this->matrix_->cols(); } return *this; @@ -1098,10 +1098,10 @@ // Provide access to the [nth] element XXX int? inline const T &operator[] (const int &n) const { - int col = (int) (n / matrix_->rows()); - int row = n - (col * matrix_->rows()); + int col = (int) (n / this->matrix_->rows()); + int row = n - (col * this->matrix_->rows()); - return matrix_->data_[row * matrix_->cols_ + col]; + return this->matrix_->data_[row * this->matrix_->cols_ + col]; } // Step n elements @@ -1109,24 +1109,24 @@ { int cm; - if (current_ == matrix_->size()) - cm = current_; + if (this->current_ == this->matrix_->size()) + cm = this->current_; else { - int row = (int) (current_ / matrix_->cols()); - int col = current_ - (row * matrix_->cols()); - cm = col * matrix_->rows() + row; + int row = (int) (this->current_ / this->matrix_->cols()); + int col = this->current_ - (row * this->matrix_->cols()); + cm = col * this->matrix_->rows() + row; } cm += n; - if (cm >= matrix_->size()) - current_ = matrix_->size(); + if (cm >= this->matrix_->size()) + this->current_ = this->matrix_->size(); else if (cm <= 0) - current_ = 0; + this->current_ = 0; else { - int col = (int) (cm / matrix_->rows()); - int row = cm - (col * matrix_->rows()); - current_ = row * matrix_->cols() + col; + int col = (int) (cm / this->matrix_->rows()); + int row = cm - (col * this->matrix_->rows()); + this->current_ = row * this->matrix_->cols() + col; } return *this; @@ -1143,20 +1143,20 @@ (const const_col_major_iterator<T> &cmi) const { int cm, bcm; - if (current_ == matrix_->size()) - cm = current_; + if (this->current_ == this->matrix_->size()) + cm = this->current_; else { - int row = (int) (current_ / matrix_->cols()); - int col = current_ - (row * matrix_->cols()); - cm = col * matrix_->rows() + row; + int row = (int) (this->current_ / this->matrix_->cols()); + int col = this->current_ - (row * this->matrix_->cols()); + cm = col * this->matrix_->rows() + row; } - if (cmi.current_ == matrix_->size()) + if (cmi.current_ == this->matrix_->size()) bcm = cmi.current_; else { - int brow = (int) (cmi.current_ / matrix_->cols()); - int bcol = cmi.current_ - (brow * matrix_->cols()); - bcm = bcol * matrix_->rows() + brow; + int brow = (int) (cmi.current_ / this->matrix_->cols()); + int bcol = cmi.current_ - (brow * this->matrix_->cols()); + bcm = bcol * this->matrix_->rows() + brow; } return cm - bcm; @@ -1167,36 +1167,36 @@ // Jump forward the length of a row inline const_col_major_iterator<T> &plus_vec () { - return (*this += matrix_->rows()); + return (*this += this->matrix_->rows()); } // Jump forward the length of a row n times inline const_col_major_iterator<T> &plus_vec (const int &n) { - return (*this += (n * matrix_->rows())); + return (*this += (n * this->matrix_->rows())); } // Jump backward the length of a row inline const_col_major_iterator<T> &minus_vec () { - return (*this -= matrix_->rows()); + return (*this -= this->matrix_->rows()); } // Jump backward the length of a row n times inline const_col_major_iterator<T> &minus_vec (const int &n) { - return (*this -= (n * matrix_->rows())); + return (*this -= (n * this->matrix_->rows())); } // Jump to the beginnin of the next vector inline const_col_major_iterator<T> &next_vec () { - int col = (int) (current_ - - ((int)(current_ / matrix_->cols()) * matrix_->cols())); - if (col + 1 < matrix_->cols()) - current_ = col + 1; + int col = (int) (this->current_ - + ((int)(this->current_ / this->matrix_->cols()) * this->matrix_->cols())); + if (col + 1 < this->matrix_->cols()) + this->current_ = col + 1; else - current_ = matrix_->size(); + this->current_ = this->matrix_->size(); return *this; } @@ -1204,14 +1204,14 @@ // Jump to the beginning of the nth next vector inline const_col_major_iterator<T> &next_vec (const int &n) { - int col = (int) (current_ - - ((int)(current_ / matrix_->cols()) * matrix_->cols())); - if (col + n >= matrix_->cols()) - current_ = matrix_->size(); + int col = (int) (this->current_ - + ((int)(this->current_ / this->matrix_->cols()) * this->matrix_->cols())); + if (col + n >= this->matrix_->cols()) + this->current_ = this->matrix_->size(); else if (col + n <= 0) - current_ = 0; + this->current_ = 0; else - current_ = col + n; + this->current_ = col + n; return *this; } @@ -1219,12 +1219,12 @@ // Jump to the beginnin of the previous vector inline const_col_major_iterator<T> &prev_vec () { - int col = (int) (current_ - - ((int)(current_ / matrix_->cols()) * matrix_->cols())); + int col = (int) (this->current_ - + ((int)(this->current_ / this->matrix_->cols()) * this->matrix_->cols())); if (col - 1 > 0) - current_ = col - 1; + this->current_ = col - 1; else - current_ = 0; + this->current_ = 0; return *this; } @@ -1308,13 +1308,13 @@ inline row_major_iterator<T> base () const { row_major_iterator<T> temp = *this; - if (current_ == matrix_->size()) - temp -= matrix_->size(); - else if (current_ == 0) - temp += matrix_->size(); + if (this->current_ == this->matrix_->size()) + temp -= this->matrix_->size(); + else if (this->current_ == 0) + temp += this->matrix_->size(); else { - temp += matrix_->size(); - temp -= current_; + temp += this->matrix_->size(); + temp -= this->current_; } return temp; @@ -1323,18 +1323,18 @@ /* Override these to get correct r-iter behavior */ inline T &operator* () const { - if (current_ == matrix_->size()) - return matrix_->data_[matrix_->size()]; + if (this->current_ == this->matrix_->size()) + return this->matrix_->data_[this->matrix_->size()]; - return matrix_->data_[matrix_->size() - current_ - 1]; + return this->matrix_->data_[this->matrix_->size() - this->current_ - 1]; } inline T *operator-> () const { - if (current_ == matrix_->size()) - return &(matrix_->data_[matrix_->size()]); + if (this->current_ == this->matrix_->size()) + return &(this->matrix_->data_[this->matrix_->size()]); - return &(matrix_->data_[matrix_->size() - current_ - 1]); + return &(this->matrix_->data_[this->matrix_->size() - this->current_ - 1]); } /* These need overriding cause of the whole off-by-one issue @@ -1342,34 +1342,34 @@ */ int get_row() const { - if (current_ == 0) - return (int) ((matrix_->size() - 1) / matrix_->cols()); - else if (current_ == matrix_->size()) + if (this->current_ == 0) + return (int) ((this->matrix_->size() - 1) / this->matrix_->cols()); + else if (this->current_ == this->matrix_->size()) return 0; - int cur = matrix_->size() - current_ - 1; + int cur = this->matrix_->size() - this->current_ - 1; - return (int) (cur / matrix_->cols()); + return (int) (cur / this->matrix_->cols()); } int get_col() const { - if (current_ == 0) - return (int) ((matrix_->size() - 1) / matrix_->rows()); - else if (current_ == matrix_->size()) + if (this->current_ == 0) + return (int) ((this->matrix_->size() - 1) / this->matrix_->rows()); + else if (this->current_ == this->matrix_->size()) return 0; - int cur = matrix_->size() - current_ - 1; - int row = (int) (cur / matrix_->cols()); - return (cur - (row * matrix_->cols())); + int cur = this->matrix_->size() - this->current_ - 1; + int row = (int) (cur / this->matrix_->cols()); + return (cur - (row * this->matrix_->cols())); } int get_index () const { - if (current_ == 0) - return matrix_->size() - 1; + if (this->current_ == 0) + return this->matrix_->size() - 1; - return matrix_->size() - current_ - 1; + return this->matrix_->size() - this->current_ - 1; } }; @@ -1403,13 +1403,13 @@ inline const_row_major_iterator<T> base () const { const_row_major_iterator<T> temp = *this; - if (current_ == matrix_->size()) - temp -= matrix_->size(); - else if (current_ == 0) - temp += matrix_->size(); + if (this->current_ == this->matrix_->size()) + temp -= this->matrix_->size(); + else if (this->current_ == 0) + temp += this->matrix_->size(); else { - temp += matrix_->size(); - temp -= current_; + temp += this->matrix_->size(); + temp -= this->current_; } return temp; @@ -1418,18 +1418,18 @@ /* Override these to get correct r-iter behavior */ inline T &operator* () const { - if (current_ == matrix_->size()) - return matrix_->data_[matrix_->size()]; + if (this->current_ == this->matrix_->size()) + return this->matrix_->data_[this->matrix_->size()]; - return matrix_->data_[matrix_->size() - current_ - 1]; + return this->matrix_->data_[this->matrix_->size() - this->current_ - 1]; } inline T *operator-> () const { - if (current_ == matrix_->size()) - return &(matrix_->data_[matrix_->size()]); + if (this->current_ == this->matrix_->size()) + return &(this->matrix_->data_[this->matrix_->size()]); - return &(matrix_->data_[matrix_->size() - current_ - 1]); + return &(this->matrix_->data_[this->matrix_->size() - this->current_ - 1]); } /* These need overriding cause of the whole off-by-one issue @@ -1437,34 +1437,34 @@ */ int get_row() const { - if (current_ == 0) - return (int) ((matrix_->size() - 1) / matrix_->cols()); - else if (current_ == matrix_->size()) + if (this->current_ == 0) + return (int) ((this->matrix_->size() - 1) / this->matrix_->cols()); + else if (this->current_ == this->matrix_->size()) return 0; - int cur = matrix_->size() - current_ - 1; + int cur = this->matrix_->size() - this->current_ - 1; - return (int) (cur / matrix_->cols()); + return (int) (cur / this->matrix_->cols()); } int get_col() const { - if (current_ == 0) - return (int) ((matrix_->size() - 1) / matrix_->rows()); - else if (current_ == matrix_->size()) + if (this->current_ == 0) + return (int) ((this->matrix_->size() - 1) / this->matrix_->rows()); + else if (this->current_ == this->matrix_->size()) return 0; - int cur = matrix_->size() - current_ - 1; - int row = (int) (cur / matrix_->cols()); - return (cur - (row * matrix_->cols())); + int cur = this->matrix_->size() - this->current_ - 1; + int row = (int) (cur / this->matrix_->cols()); + return (cur - (row * this->matrix_->cols())); } int get_index () const { - if (current_ == 0) - return matrix_->size() - 1; + if (this->current_ == 0) + return this->matrix_->size() - 1; - return matrix_->size() - current_ - 1; + return this->matrix_->size() - this->current_ - 1; } }; @@ -1498,13 +1498,13 @@ { col_major_iterator<T> temp = *this; --temp; - if (current_ == matrix_->size()) - temp -= matrix_->size(); - else if (current_ == 0) - temp += matrix_->size(); + if (this->current_ == this->matrix_->size()) + temp -= this->matrix_->size(); + else if (this->current_ == 0) + temp += this->matrix_->size(); else { - temp += matrix_->size(); - temp -= current_; + temp += this->matrix_->size(); + temp -= this->current_; } return temp; @@ -1513,18 +1513,18 @@ /* Override these to get correct r-iter behavior */ inline T &operator* () const { - if (current_ == matrix_->size()) - return matrix_->data_[matrix_->size()]; + if (this->current_ == this->matrix_->size()) + return this->matrix_->data_[this->matrix_->size()]; - return matrix_->data_[matrix_->size() - current_ - 1]; + return this->matrix_->data_[this->matrix_->size() - this->current_ - 1]; } inline T *operator-> () const { - if (current_ == matrix_->size()) - return &(matrix_->data_[matrix_->size()]); + if (this->current_ == this->matrix_->size()) + return &(this->matrix_->data_[this->matrix_->size()]); - return &(matrix_->data_[matrix_->size() - current_ - 1]); + return &(this->matrix_->data_[this->matrix_->size() - this->current_ - 1]); } /* These need overriding cause of the whole off-by-one issue @@ -1532,34 +1532,34 @@ */ int get_row() const { - if (current_ == 0) - return (int) ((matrix_->size() - 1) / matrix_->cols()); - else if (current_ == matrix_->size()) + if (this->current_ == 0) + return (int) ((this->matrix_->size() - 1) / this->matrix_->cols()); + else if (this->current_ == this->matrix_->size()) return 0; - int cur = matrix_->size() - current_ - 1; + int cur = this->matrix_->size() - this->current_ - 1; - return (int) (cur / matrix_->cols()); + return (int) (cur / this->matrix_->cols()); } int get_col() const { - if (current_ == 0) - return (int) ((matrix_->size() - 1) / matrix_->rows()); - else if (current_ == matrix_->size()) + if (this->current_ == 0) + return (int) ((this->matrix_->size() - 1) / this->matrix_->rows()); + else if (this->current_ == this->matrix_->size()) return 0; - int cur = matrix_->size() - current_ - 1; - int row = (int) (cur / matrix_->cols()); - return (cur - (row * matrix_->cols())); + int cur = this->matrix_->size() - this->current_ - 1; + int row = (int) (cur / this->matrix_->cols()); + return (cur - (row * this->matrix_->cols())); } int get_index () const { - if (current_ == 0) - return matrix_->size() - 1; + if (this->current_ == 0) + return this->matrix_->size() - 1; - return matrix_->size() - current_ - 1; + return this->matrix_->size() - this->current_ - 1; } }; @@ -1594,13 +1594,13 @@ { const_col_major_iterator<T> temp = *this; --temp; - if (current_ == matrix_->size()) - temp -= matrix_->size(); - else if (current_ == 0) - temp += matrix_->size(); + if (this->current_ == this->matrix_->size()) + temp -= this->matrix_->size(); + else if (this->current_ == 0) + temp += this->matrix_->size(); else { - temp += matrix_->size(); - temp -= current_; + temp += this->matrix_->size(); + temp -= this->current_; } return temp; @@ -1608,18 +1608,18 @@ inline T &operator* () const { - if (current_ == matrix_->size()) - return matrix_->data_[matrix_->size()]; + if (this->current_ == this->matrix_->size()) + return this->matrix_->data_[this->matrix_->size()]; - return matrix_->data_[matrix_->size() - current_ - 1]; + return this->matrix_->data_[this->matrix_->size() - this->current_ - 1]; } inline T *operator-> () const { - if (current_ == matrix_->size()) - return &(matrix_->data_[matrix_->size()]); + if (this->current_ == this->matrix_->size()) + return &(this->matrix_->data_[this->matrix_->size()]); - return &(matrix_->data_[matrix_->size() - current_ - 1]); + return &(this->matrix_->data_[this->matrix_->size() - this->current_ - 1]); } /* These need overriding cause of the whole off-by-one issue @@ -1627,34 +1627,34 @@ */ int get_row() const { - if (current_ == 0) - return (int) ((matrix_->size() - 1) / matrix_->cols()); - else if (current_ == matrix_->size()) + if (this->current_ == 0) + return (int) ((this->matrix_->size() - 1) / this->matrix_->cols()); + else if (this->current_ == this->matrix_->size()) return 0; - int cur = matrix_->size() - current_ - 1; + int cur = this->matrix_->size() - this->current_ - 1; - return (int) (cur / matrix_->cols()); + return (int) (cur / this->matrix_->cols()); } int get_col() const { - if (current_ == 0) - return (int) ((matrix_->size() - 1) / matrix_->rows()); - else if (current_ == matrix_->size()) + if (this->current_ == 0) + return (int) ((this->matrix_->size() - 1) / this->matrix_->rows()); + else if (this->current_ == this->matrix_->size()) return 0; - int cur = matrix_->size() - current_ - 1; - int row = (int) (cur / matrix_->cols()); - return (cur - (row * matrix_->cols())); + int cur = this->matrix_->size() - this->current_ - 1; + int row = (int) (cur / this->matrix_->cols()); + return (cur - (row * this->matrix_->cols())); } int get_index () const { - if (current_ == 0) - return matrix_->size() - 1; + if (this->current_ == 0) + return this->matrix_->size() - 1; - return matrix_->size() - current_ - 1; + return this->matrix_->size() - this->current_ - 1; } }; diff -urN ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Optimize.cc ./src/Scythe_Optimize.cc --- ../tmp-orig/mcmcpack-0.4-8/src/Scythe_Optimize.cc 2004-02-04 17:35:38.000000000 +0100 +++ ./src/Scythe_Optimize.cc 2004-08-13 14:54:49.271128473 +0200 @@ -73,11 +73,11 @@ namespace { template <class T> T - donothing(const Matrix<T> &x) {return 0.0;}; + donothing(const Matrix<T> &x) {return 0.0;} template <class T> T - donothing(const T &x) { return 0.0; }; + donothing(const T &x) { return 0.0; } } @@ -610,7 +610,7 @@ throw scythe_dimension_error (__FILE__, __PRETTY_FUNCTION__, __LINE__, "Theta not column vector"); if (! psi.isColVector()) - throw scythe_dimension_error (__FILE__, __PRETTY_FUNCTION, + throw scythe_dimension_error (__FILE__, __PRETTY_FUNCTION__, __LINE__, "Psi not column vector"); Matrix<T> thetastar = theta; --------------------------------------- Received: (at 265503-done) by bugs.debian.org; 18 Jul 2005 06:18:17 +0000 >From [EMAIL PROTECTED] Sun Jul 17 23:18:17 2005 Return-path: <[EMAIL PROTECTED]> Received: from smtpauth03.mail.atl.earthlink.net [209.86.89.63] by spohr.debian.org with esmtp (Exim 3.36 1 (Debian)) id 1DuOxF-00041k-00; Sun, 17 Jul 2005 23:18:17 -0700 Received: from [24.206.93.60] (helo=lordsutch.dyndns.org) by smtpauth03.mail.atl.earthlink.net with asmtp (Exim 4.34) id 1DuOxE-000181-Ef for [EMAIL PROTECTED]; Mon, 18 Jul 2005 02:18:16 -0400 Received: from localhost (lordsutch.dyndns.org [127.0.0.1]) by lordsutch.dyndns.org (Postfix) with ESMTP id B04F1E01349 for <[EMAIL PROTECTED]>; Mon, 18 Jul 2005 01:18:15 -0500 (CDT) Received: from lordsutch.dyndns.org ([127.0.0.1]) by localhost (converse [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 31947-06 for <[EMAIL PROTECTED]>; Mon, 18 Jul 2005 01:18:15 -0500 (CDT) Received: from campbell.lordsutch.dyndns.org (unknown [192.168.1.4]) by lordsutch.dyndns.org (Postfix) with ESMTP id 7F809E01346 for <[EMAIL PROTECTED]>; Mon, 18 Jul 2005 01:18:15 -0500 (CDT) Received: by campbell.lordsutch.dyndns.org (Postfix, from userid 1000) id 534CC244F7A0; Mon, 18 Jul 2005 01:18:15 -0500 (CDT) Date: Mon, 18 Jul 2005 01:18:15 -0500 From: Chris Lawrence <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Subject: Current version builds with gcc-{3.4,4.0} Message-ID: <[EMAIL PROTECTED]> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Organization: The University of Mississippi (Standard Disclaimer Applies) X-Operating-System: Linux/x86_64 2.6.13-rc3 X-Debian-Cabal: There is no cabal. User-Agent: Mutt/1.5.9i X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at lordsutch.dyndns.org X-ELNK-Trace: a6752a4a878d2f2f0e1b13634061d4137e972de0d01da94088f283c0fa73efcadbf2575887679bd7350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 24.206.93.60 Delivered-To: [EMAIL PROTECTED] X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 (1.212-2003-09-23-exp) on spohr.debian.org X-Spam-Level: X-Spam-Status: No, hits=-3.0 required=4.0 tests=BAYES_00 autolearn=no version=2.60-bugs.debian.org_2005_01_02 The current upstream version of this package appears to build properly with both g++ 3.4 and 4.0, so this bug can be closed. Chris -- Chris Lawrence <[EMAIL PROTECTED]> - http://blog.lordsutch.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]