54  typedef typename Teuchos::ScalarTraits<ScalarType>::magnitudeType MagnitudeType;
 
   55  typedef Teuchos::ScalarTraits<MagnitudeType> MT;
 
  141    test_->clearStatus();
 
 
  148  void setAuxVals(
const std::vector<
typename Teuchos::ScalarTraits<ScalarType>::magnitudeType> &vals) {
 
  150    ivals_.resize(rvals_.size(),MT::zero());
 
 
  158  void setAuxVals(
const std::vector<
typename Teuchos::ScalarTraits<ScalarType>::magnitudeType> &rvals, 
const std::vector<
typename Teuchos::ScalarTraits<ScalarType>::magnitudeType> &ivals) {
 
 
  168  void getAuxVals(std::vector<
typename Teuchos::ScalarTraits<ScalarType>::magnitudeType> &rvals, std::vector<
typename Teuchos::ScalarTraits<ScalarType>::magnitudeType> &ivals)
 const {
 
 
  179  std::ostream& 
print(std::ostream& os, 
int indent = 0) 
const;
 
  184    std::vector<int> ind_;
 
  186    std::vector<MagnitudeType> rvals_, ivals_;
 
  187    Teuchos::RCP<SortManager<typename Teuchos::ScalarTraits<ScalarType>::magnitudeType> > sorter_;
 
  188    Teuchos::RCP<StatusTest<ScalarType,MV,OP> > test_;
 
 
  194  : state_(
Undefined), ind_(0), quorum_(quorum), rvals_(0), ivals_(0), sorter_(sorter), test_(test)
 
  196  TEUCHOS_TEST_FOR_EXCEPTION(sorter_ == Teuchos::null, 
StatusTestError, 
"StatusTestWithOrdering::constructor() was passed null pointer for constituent SortManager.");
 
  197  TEUCHOS_TEST_FOR_EXCEPTION(test_ == Teuchos::null, 
StatusTestError, 
"StatusTestWithOrdering::constructor() was passed null pointer for constituent StatusTest.");
 
 
  227  test_->checkStatus(solver);
 
  228  std::vector<int> cwhch( test_->whichVecs() );
 
  231  std::vector<Value<ScalarType> > solval = solver->
getRitzValues();
 
  232  int numsolval = solval.size();
 
  233  int numauxval = rvals_.size();
 
  234  int numallval = numsolval + numauxval;
 
  236  if (numallval == 0) {
 
  242  std::vector<MagnitudeType> allvalr(numallval), allvali(numallval);
 
  244  for (
int i=0; i<numsolval; ++i) {
 
  245    allvalr[i] = solval[i].realpart;
 
  246    allvali[i] = solval[i].imagpart;
 
  249  std::copy(rvals_.begin(),rvals_.end(),allvalr.begin()+numsolval);
 
  250  std::copy(ivals_.begin(),ivals_.end(),allvali.begin()+numsolval);
 
  253  std::vector<int> perm(numallval);
 
  254  sorter_->sort(allvalr,allvali,Teuchos::rcpFromRef(perm),numallval);
 
  257  std::vector<int> allpass(cwhch.size() + numauxval);
 
  258  std::copy(cwhch.begin(),cwhch.end(),allpass.begin());
 
  259  for (
int i=0; i<numauxval; i++) {
 
  260    allpass[cwhch.size()+i] = -(i+1);
 
  264  int numsig = quorum_ < numallval ? quorum_ : numallval;
 
  266  std::vector<int> mostsig(numsig);
 
  267  for (
int i=0; i<numsig; ++i) {
 
  268    mostsig[i] = perm[i];
 
  271    if (mostsig[i] >= numsolval) {
 
  272      mostsig[i] = mostsig[i]-numsolval-numauxval;
 
  281  std::vector<int>::iterator end;
 
  282  std::sort(mostsig.begin(),mostsig.end());
 
  283  std::sort(allpass.begin(),allpass.end());
 
  284  end = std::set_intersection(mostsig.begin(),mostsig.end(),allpass.begin(),allpass.end(),ind_.begin());
 
  285  ind_.resize(end - ind_.begin());
 
  288  if (ind_.size() >= (
unsigned int)quorum_) {