New_Package Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Newp_Hello.cpp
Go to the documentation of this file.
1
2//@HEADER
3// ***********************************************************************
4//
5// New_Package Example Package
6// Copyright (2004) Sandia Corporation
7//
8// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9// license for use of this work by or on behalf of the U.S. Government.
10//
11// This library is free software; you can redistribute it and/or modify
12// it under the terms of the GNU Lesser General Public License as
13// published by the Free Software Foundation; either version 2.1 of the
14// License, or (at your option) any later version.
15//
16// This library is distributed in the hope that it will be useful, but
17// WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19// Lesser General Public License for more details.
20//
21// You should have received a copy of the GNU Lesser General Public
22// License along with this library; if not, write to the Free Software
23// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
24// USA
25// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
26//
27// ***********************************************************************
28//@HEADER
29
30#include "Newp_Hello.h"
31#include "Epetra_Comm.h"
32
33//=============================================================================
34Newp_Hello::Newp_Hello(const Epetra_Comm& Comm):Comm_(Comm.Clone()) {}
35
36//=============================================================================
37Newp_Hello::Newp_Hello(const Newp_Hello& Source):Comm_(Source.Comm_->Clone()) {}
38
39//=============================================================================
41
42//=======================================================================
43void Newp_Hello::Print(ostream& os) const {
44 int MyPID = Comm_->MyPID();
45 int NumProc = Comm_->NumProc();
46
47 for (int iproc=0; iproc < NumProc; iproc++) {
48 if (MyPID==iproc) {
49
50 if (MyPID==0) {
51 os << "This will print out one line for each of the " << NumProc << " processes " << endl ;
52 os << endl;
53 }
54 os << "Hello. I am process " << MyPID << endl ;
55 os << flush;
56 }
57
58 // Do a few global ops to give I/O a chance to complete
59 Comm_->Barrier();
60 Comm_->Barrier();
61 Comm_->Barrier();
62 }
63 return;
64}
65
66
virtual int NumProc() const=0
virtual int MyPID() const=0
virtual void Barrier() const=0
A sample class.
Definition: Newp_Hello.h:59
virtual ~Newp_Hello()
Definition: Newp_Hello.cpp:40
const Epetra_Comm * Comm_
Definition: Newp_Hello.h:93
virtual void Print(ostream &os) const
Definition: Newp_Hello.cpp:43
Newp_Hello(const Epetra_Comm &Comm)
Creates a Newp_Hello object and fills with default values.
Definition: Newp_Hello.cpp:34