ENH: patchCloud: return pTraits<Type>::max for unfound points
[OpenFOAM-1.7.x.git] / applications / test / FixedList / FixedListTest.C
blob50d5b14303869fe09b537d8ae248272f49f1e0ca
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by
13     the Free Software Foundation, either version 3 of the License, or
14     (at your option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
24 Application
25     FixedListTest
27 Description
29 \*---------------------------------------------------------------------------*/
31 #include "argList.H"
32 #include "IOstreams.H"
33 #include "FixedList.H"
34 #include "IFstream.H"
35 #include "OFstream.H"
36 #include "IPstream.H"
37 #include "OPstream.H"
39 using namespace Foam;
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 //  Main program:
44 int main(int argc, char *argv[])
46     argList::validArgs.clear();
47     argList args(argc, argv);
49     FixedList<label, 4> list;
50     list[0] = 1;
51     list[1] = 2;
52     list[2] = 3;
53     list[3] = 4;
55     Info<< "list:" << list
56         << " hash:" << FixedList<label, 4>::Hash<>()(list) << endl;
58     Info<< "FixedList<label, ..> is contiguous, "
59         "thus hashing function is irrelevant: with string::hash" << endl;
61     Info<< "list:" << list
62         << " hash:" << FixedList<label, 4>::Hash<string::hash>()(list) << endl;
64     label a[4] = {0, 1, 2, 3};
65     FixedList<label, 4> list2(a);
67     Info<< "list:" << list2
68         << " hash:" << FixedList<label, 4>::Hash<>()(list2) << endl;
70     // FixedList<label, 3> hmm(Sin);
71     // Info<< hmm << endl;
73     if (Pstream::parRun())
74     {
75         if (Pstream::myProcNo() != Pstream::masterNo())
76         {
77             Serr<< "slave sending to master "
78                 << Pstream::masterNo() << endl;
80             OPstream toMaster
81             (
82                 Pstream::blocking, Pstream::masterNo(), IOstream::ASCII
83             );
85             FixedList<label, 2> list3;
86             list3[0] = 0;
87             list3[1] = 1;
88             toMaster << list3;
89         }
90         else
91         {
92             for
93             (
94                 int slave = Pstream::firstSlave();
95                 slave <= Pstream::lastSlave();
96                 slave++
97             )
98             {
99                 Serr << "master receiving from slave " << slave << endl;
100                 IPstream fromSlave
101                 (
102                     Pstream::blocking, slave, IOstream::ASCII
103                 );
104                 FixedList<label, 2> list3(fromSlave);
106                 Serr<< list3 << endl;
107             }
108         }
109     }
111     return 0;
115 // ************************************************************************* //