Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ScalFMM
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
5
Issues
5
List
Boards
Labels
Service Desk
Milestones
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
solverstack
ScalFMM
Commits
f3d8cba3
Commit
f3d8cba3
authored
Apr 27, 2015
by
Quentin Khan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
testFmmAlgorithmBalanced: remove reference to tclap in argument management...
parent
d39f9a1d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
95 additions
and
80 deletions
+95
-80
Tests/noDist/testFmmAlgorithmBalancedArgs.hpp
Tests/noDist/testFmmAlgorithmBalancedArgs.hpp
+95
-80
No files found.
Tests/noDist/testFmmAlgorithmBalancedArgs.hpp
View file @
f3d8cba3
...
...
@@ -5,102 +5,117 @@
#ifndef _LOADFMAANDRUNFMMARGS_HPP_
#define _LOADFMAANDRUNFMMARGS_HPP_
#include <sys/ioctl.h>
#include <string>
#include "Utils/FParameters.hpp"
#include "Utils/FParameterNames.hpp"
#include "tclap/CmdLine.h"
#include "tclap/LinuxOutput.hpp"
#include "tclap/CompletionVisitor.h"
class
loadFMAAndRunFMMArgs
{
using
vs
=
std
::
vector
<
std
::
string
>
;
const
int
_treeHeightInit
=
5
;
const
int
_subTreeHeightInit
=
1
;
const
int
_zoneCountInit
=
4
;
const
int
_verboseInit
=
0
;
const
std
::
string
_inFileNameInit
=
""
;
const
std
::
string
_outFileNameInit
=
"balancetest"
;
const
std
::
string
_outFileNameExtInit
=
"csv"
;
TCLAP
::
CmdLine
_cmd
{
"Loads an FMA file into a tree and runs a pseudo FMM algorithm "
"through it to compute load balancing."
,
' '
,
"0.0"
};
TCLAP
::
LinuxOutput
_cmdFormat
;
TCLAP
::
BashCompletion
::
Visitor
_compVistor
{
&
_cmd
,
{
{
&
_inFileName
,
{
TCLAP
::
BashCompletion
::
FILE
,
"!*.fma"
}},
{
&
_outFileExt
,
{
"csv"
}}}};
TCLAP
::
SwitchArg
_compArg
{
""
,
"completion"
,
"Show completion arguments"
,
_cmd
,
false
,
&
_compVistor
};
TCLAP
::
MultiSwitchArg
_verboseArg
{
"v"
,
"verbose"
,
"Activate verbosity"
,
_cmd
,
_verboseInit
};
TCLAP
::
ValueArg
<
int
>
_subTreeHeight
{
""
,
vs
{
"subtree-height"
,
"sth"
},
"Subtree height."
,
false
,
_subTreeHeightInit
,
"sub-tree height"
,
_cmd
};
TCLAP
::
ValueArg
<
int
>
_treeHeight
{
"H"
,
vs
{
"tree-height"
,
"th"
},
"Tree height."
,
true
,
_treeHeightInit
,
"tree height"
,
_cmd
};
TCLAP
::
ValueArg
<
int
>
_zoneCount
{
"z"
,
vs
{
"zone-count"
},
"Number of zones to create"
,
true
,
_zoneCountInit
,
"zone count"
,
_cmd
};
TCLAP
::
ValueArg
<
std
::
string
>
_outFileExt
{
"x"
,
"output-file-extension"
,
"Output files extension. One file is created for each level in the"
" tree. Each file has a 'basename_$nbZones$z.$i$.extension' "
"extension where $i is the level. Default value is "
+
_outFileNameExtInit
+
"."
,
false
,
_outFileNameExtInit
,
"suffix"
,
_cmd
};
TCLAP
::
ValueArg
<
std
::
string
>
_outFileName
{
"o"
,
"output-file-basename"
,
"Output files' basename. One file is created for each level in "
"the tree. Each file has a level-in-tree based extension."
,
false
,
_outFileNameInit
,
"basename"
,
_cmd
};
TCLAP
::
ValueArg
<
std
::
string
>
_inFileName
{
"f"
,
"input-file"
,
"Input file name."
,
true
,
_inFileNameInit
,
"filename"
,
_cmd
};
const
char
*
_inFileNameInit
=
""
;
const
char
*
_outFileNameInit
=
"balancetest"
;
const
char
*
_outFileNameExtInit
=
"csv"
;
int
_argc
;
char
**
_argv
;
const
FParameterNames
OutputFileBasename
=
{{
"--output-file-basename"
,
"-fout-base"
},
"Output files' basename. One file is created for each level in "
"the tree. Each file has a level-in-tree based extension."
};
const
FParameterNames
OutputFileExtension
=
{{
"--output-file-extention"
,
"-fout-ext"
},
(
"Output files extension. One file is created for each level in the"
" tree. Each file has a 'basename_$nbZones$z.$i$.extension' "
"extension where $i is the level. Default value is "
+
std
::
string
(
_outFileNameExtInit
)
+
"."
).
c_str
()};
const
FParameterNames
ZoneCount
=
{{
"--zone-count"
,
"-z"
},
"Number of zones to create."
};
public:
int
treeHeight
()
const
{
return
_treeHeight
.
getValue
();}
int
subTreeHeight
()
const
{
return
_subTreeHeight
.
getValue
();}
int
zoneCount
()
const
{
return
_zoneCount
.
getValue
();}
int
verboseLevel
()
const
{
return
_verboseArg
.
getValue
();}
const
std
::
string
&
inFileName
()
const
{
return
_inFileName
.
getValue
();}
const
std
::
string
&
outFileName
()
const
{
return
_outFileName
.
getValue
();}
int
treeHeight
()
const
{
using
namespace
FParameterDefinitions
;
using
namespace
FParameters
;
return
getValue
(
_argc
,
_argv
,
OctreeHeight
.
options
,
_treeHeightInit
);
}
int
subTreeHeight
()
const
{
using
namespace
FParameterDefinitions
;
using
namespace
FParameters
;
return
getValue
(
_argc
,
_argv
,
OctreeSubHeight
.
options
,
_subTreeHeightInit
);
}
int
zoneCount
()
const
{
using
namespace
FParameterDefinitions
;
using
namespace
FParameters
;
return
getValue
(
_argc
,
_argv
,
ZoneCount
.
options
,
_zoneCountInit
);
}
int
verboseLevel
()
const
{
using
namespace
FParameterDefinitions
;
using
namespace
FParameters
;
return
getValue
(
_argc
,
_argv
,
EnabledVerbose
.
options
,
_verboseInit
);
}
std
::
string
inFileName
()
const
{
using
namespace
FParameterDefinitions
;
using
namespace
FParameters
;
return
getStr
(
_argc
,
_argv
,
InputFile
.
options
,
_inFileNameInit
);
}
std
::
string
outFileName
()
const
{
using
namespace
FParameterDefinitions
;
using
namespace
FParameters
;
return
getStr
(
_argc
,
_argv
,
OutputFileBasename
.
options
,
_outFileNameInit
);
}
std
::
string
outFileExt
()
const
{
std
::
string
ext
=
_outFileExt
.
getValue
();
using
namespace
FParameterDefinitions
;
using
namespace
FParameters
;
std
::
string
ext
=
getStr
(
_argc
,
_argv
,
OutputFileExtension
.
options
,
_outFileNameExtInit
);
if
(
ext
.
at
(
0
)
!=
'.'
)
return
'.'
+
ext
;
return
ext
;
}
loadFMAAndRunFMMArgs
(
int
argc
,
char
**
argv
)
{
int
columns
=
80
;
struct
winsize
w
;
if
(
ioctl
(
0
,
TIOCGWINSZ
,
&
w
)
==
0
)
columns
=
w
.
ws_col
;
loadFMAAndRunFMMArgs
(
int
argc
,
char
**
argv
)
:
_argc
(
argc
),
_argv
(
argv
)
{
parse
();
}
int
parse
()
{
using
namespace
FParameterDefinitions
;
using
namespace
FParameters
;
_compArg
.
setHideDesc
(
true
);
_cmdFormat
.
setTextWidth
(
columns
);
_cmd
.
setOutput
(
&
_cmdFormat
);
_cmd
.
parse
(
argc
,
argv
);
FHelpDescribeAndExit
(
_argc
,
_argv
,
"Loads an FMA file into a tree and runs a pseudo FMM algorithm "
"through it to compute load balancing."
,
OctreeHeight
,
OctreeSubHeight
,
InputFile
,
OutputFileBasename
,
OutputFileExtension
,
ZoneCount
,
EnabledVerbose
);
return
0
;
}
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment