Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
SWIFTsim
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SWIFT
SWIFTsim
Commits
b26d0fb5
Commit
b26d0fb5
authored
6 years ago
by
lhausamm
Committed by
Loic Hausammann
6 years ago
Browse files
Options
Downloads
Patches
Plain Diff
logger: refactoring done
parent
82b3353b
No related branches found
No related tags found
1 merge request
!502
Logger
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/logger.c
+52
-52
52 additions, 52 deletions
src/logger.c
src/logger.h
+3
-3
3 additions, 3 deletions
src/logger.h
with
55 additions
and
55 deletions
src/logger.c
+
52
−
52
View file @
b26d0fb5
...
...
@@ -83,7 +83,7 @@ char *logger_write_chunk_header(char *buff, const unsigned int *mask, const size
* @param size number of bytes to write
* @param p pointer to the data
*/
void
logger_write_data
(
struct
dump
*
d
,
size_t
*
offset
,
const
size_t
size
,
void
*
const
p
)
void
logger_write_data
(
struct
dump
*
d
,
size_t
*
offset
,
size_t
size
,
const
void
*
p
)
{
char
*
buff
=
dump_get
(
d
,
size
,
offset
);
memcpy
(
buff
,
p
,
size
);
...
...
@@ -101,13 +101,13 @@ void logger_write_data(struct dump *d, size_t *offset, const size_t size, void *
* @param name data name (should be smaller than log->name)
* @param data_type #logger_datatype to write
*/
void
logger_write_general_data
(
struct
dump
*
d
,
struct
logger_parameters
*
params
,
size_t
*
offset
,
void
logger_write_general_data
(
struct
dump
*
d
,
const
struct
logger_parameters
*
params
,
size_t
*
offset
,
const
void
*
p
,
char
*
name
,
size_t
data_type
)
{
char
*
buff
;
/* write name */
buff
=
dump_get
(
d
,
params
->
name
_size
,
offset
);
memcpy
(
buff
,
name
,
params
->
name
_size
);
buff
=
dump_get
(
d
,
params
->
label
_size
,
offset
);
memcpy
(
buff
,
name
,
params
->
label
_size
);
/* write data type */
buff
=
dump_get
(
d
,
params
->
data_type_size
,
offset
);
...
...
@@ -116,7 +116,7 @@ void logger_write_general_data(struct dump *d, struct logger_parameters *params,
/* write value */
if
(
data_type
>=
logger_data_count
)
error
(
"Not implemented"
);
size_t
size
=
logger_data_size
[
data_type
];
size_t
size
=
logger_data
type
_size
[
data_type
];
buff
=
dump_get
(
d
,
size
,
offset
);
memcpy
(
buff
,
p
,
size
);
...
...
@@ -182,8 +182,8 @@ int logger_compute_chunk_size(unsigned int mask) {
* @param log The #logger
* @param e The #engine
*/
void
logger_log_all
(
struct
logger
*
log
,
struct
engine
*
e
)
{
struct
space
*
s
=
e
->
s
;
void
logger_log_all
(
struct
logger
*
log
,
const
struct
engine
*
e
)
{
const
struct
space
*
s
=
e
->
s
;
const
unsigned
int
mask
=
logger_mask_x
|
logger_mask_v
|
logger_mask_a
|
logger_mask_u
|
logger_mask_h
|
logger_mask_rho
|
logger_mask_consts
;
...
...
@@ -206,7 +206,7 @@ void logger_log_all(struct logger *log, struct engine *e) {
* @param mask The mask of the data to dump.
* @param offset Pointer to the offset of the previous log of this particle.
*/
void
logger_log_part
(
struct
logger
*
log
,
const
struct
part
*
p
,
const
unsigned
int
mask
,
size_t
*
offset
)
{
void
logger_log_part
(
struct
logger
*
log
,
const
struct
part
*
p
,
unsigned
int
mask
,
size_t
*
offset
)
{
/* Make sure we're not writing a timestamp. */
if
(
mask
&
logger_mask_timestamp
)
...
...
@@ -282,7 +282,7 @@ void logger_log_part(struct logger *log, const struct part *p, const unsigned in
* @param mask The mask of the data to dump.
* @param offset Pointer to the offset of the previous log of this particle.
*/
void
logger_log_gpart
(
struct
logger
*
log
,
const
struct
gpart
*
p
,
const
unsigned
int
mask
,
size_t
*
offset
)
{
void
logger_log_gpart
(
struct
logger
*
log
,
const
struct
gpart
*
p
,
unsigned
int
mask
,
size_t
*
offset
)
{
/* Make sure we're not writing a timestamp. */
if
(
mask
&
logger_mask_timestamp
)
...
...
@@ -380,7 +380,7 @@ void logger_ensure_size(
for
(
i
=
0
;
i
<
log_params
->
nber_mask
;
i
++
)
{
if
(
log_params
->
masks
[
i
]
!=
logger_mask_timestamp
)
limit
+=
log_params
->
masks_size
[
i
];
limit
+=
log_params
->
masks_
data_
size
[
i
];
}
limit
*=
total_nr_parts
;
...
...
@@ -462,10 +462,10 @@ void logger_write_file_header(struct logger *log, const struct engine *e) {
if
(
file_offset
!=
0
)
error
(
"Something was already written in the dump file"
);
/* Write version information */
logger_write_data
(
dump
,
&
file_offset
,
logger_
string
_size
,
&
logger_version
);
logger_write_data
(
dump
,
&
file_offset
,
logger_
version
_size
,
&
logger_version
);
/* write number of bytes used for the offsets */
logger_write_data
(
dump
,
&
file_offset
,
logger_number_size
,
&
log_params
.
offset_size
);
logger_write_data
(
dump
,
&
file_offset
,
logger_
header_
number_size
,
&
log_params
.
offset_size
);
/* write offset direction */
int
reversed
=
0
;
...
...
@@ -475,13 +475,13 @@ void logger_write_file_header(struct logger *log, const struct engine *e) {
skip_header
=
dump_get
(
dump
,
log_params
.
offset_size
,
&
file_offset
);
/* write number of bytes used for names */
logger_write_data
(
dump
,
&
file_offset
,
logger_number_size
,
&
log_params
.
name
_size
);
logger_write_data
(
dump
,
&
file_offset
,
logger_
header_
number_size
,
&
log_params
.
label
_size
);
/* write number of bytes used for numbers */
logger_write_data
(
dump
,
&
file_offset
,
logger_number_size
,
&
log_params
.
number_size
);
logger_write_data
(
dump
,
&
file_offset
,
logger_
header_
number_size
,
&
log_params
.
number_size
);
/* write number of bytes used for masks */
logger_write_data
(
dump
,
&
file_offset
,
logger_number_size
,
&
log_params
.
mask_size
);
logger_write_data
(
dump
,
&
file_offset
,
logger_
header_
number_size
,
&
log_params
.
mask_size
);
/* write number of masks */
logger_write_data
(
dump
,
&
file_offset
,
log_params
.
number_size
,
&
log_params
.
nber_mask
);
...
...
@@ -490,14 +490,14 @@ void logger_write_file_header(struct logger *log, const struct engine *e) {
// loop over all mask type
for
(
i
=
0
;
i
<
log_params
.
nber_mask
;
i
++
)
{
// mask name
size_t
j
=
i
*
log_params
.
name
_size
;
logger_write_data
(
dump
,
&
file_offset
,
log_params
.
name
_size
,
&
log_params
.
masks_name
[
j
]);
size_t
j
=
i
*
log_params
.
label
_size
;
logger_write_data
(
dump
,
&
file_offset
,
log_params
.
label
_size
,
&
log_params
.
masks_name
[
j
]);
// mask
logger_write_data
(
dump
,
&
file_offset
,
log_params
.
mask_size
,
&
log_params
.
masks
[
i
]);
// mask size
logger_write_data
(
dump
,
&
file_offset
,
log_params
.
number_size
,
&
log_params
.
masks_size
[
i
]);
logger_write_data
(
dump
,
&
file_offset
,
log_params
.
number_size
,
&
log_params
.
masks_
data_
size
[
i
]);
}
/* write mask data */
...
...
@@ -507,7 +507,7 @@ void logger_write_file_header(struct logger *log, const struct engine *e) {
/* write data name (mass, id, ...) */
/* Write data */
char
*
name
=
malloc
(
sizeof
(
char
)
*
log_params
.
name
_size
);
char
*
name
=
malloc
(
sizeof
(
char
)
*
log_params
.
label
_size
);
strcpy
(
name
,
"time_base"
);
logger_write_general_data
(
dump
,
&
log_params
,
&
file_offset
,
&
e
->
time_base
,
name
,
logger_data_double
);
...
...
@@ -528,7 +528,7 @@ void logger_write_file_header(struct logger *log, const struct engine *e) {
* @param log_params #logger_parameters to initialize
*/
void
logger_parameters_init
(
struct
logger_parameters
*
log_params
)
{
log_params
->
name
_size
=
20
;
log_params
->
label
_size
=
20
;
log_params
->
offset_size
=
7
;
log_params
->
mask_size
=
1
;
log_params
->
number_size
=
1
;
...
...
@@ -537,7 +537,7 @@ void logger_parameters_init(struct logger_parameters* log_params) {
log_params
->
nber_mask
=
8
;
char
*
cur_name
;
char
tmp
[
log_params
->
nam
e
];
char
tmp
[
log_params
->
label_siz
e
];
size_t
block_size
;
// masks value
...
...
@@ -552,51 +552,51 @@ void logger_parameters_init(struct logger_parameters* log_params) {
log_params
->
masks
[
7
]
=
logger_mask_timestamp
;
// masks name
block_size
=
log_params
->
name
_size
*
log_params
->
nber_mask
;
block_size
=
log_params
->
label
_size
*
log_params
->
nber_mask
;
log_params
->
masks_name
=
malloc
(
block_size
);
cur_name
=
log_params
->
masks_name
;
strcpy
(
tmp
,
"position"
);
memcpy
(
cur_name
,
&
tmp
,
log_params
->
name
_size
);
cur_name
+=
log_params
->
name
_size
;
memcpy
(
cur_name
,
&
tmp
,
log_params
->
label
_size
);
cur_name
+=
log_params
->
label
_size
;
strcpy
(
tmp
,
"velocity"
);
memcpy
(
cur_name
,
&
tmp
,
log_params
->
name
_size
);
cur_name
+=
log_params
->
name
_size
;
memcpy
(
cur_name
,
&
tmp
,
log_params
->
label
_size
);
cur_name
+=
log_params
->
label
_size
;
strcpy
(
tmp
,
"acceleration"
);
memcpy
(
cur_name
,
&
tmp
,
log_params
->
name
_size
);
cur_name
+=
log_params
->
name
_size
;
memcpy
(
cur_name
,
&
tmp
,
log_params
->
label
_size
);
cur_name
+=
log_params
->
label
_size
;
strcpy
(
tmp
,
"entropy"
);
memcpy
(
cur_name
,
&
tmp
,
log_params
->
name
_size
);
cur_name
+=
log_params
->
name
_size
;
memcpy
(
cur_name
,
&
tmp
,
log_params
->
label
_size
);
cur_name
+=
log_params
->
label
_size
;
strcpy
(
tmp
,
"cutoff radius"
);
memcpy
(
cur_name
,
&
tmp
,
log_params
->
name
_size
);
cur_name
+=
log_params
->
name
_size
;
memcpy
(
cur_name
,
&
tmp
,
log_params
->
label
_size
);
cur_name
+=
log_params
->
label
_size
;
strcpy
(
tmp
,
"density"
);
memcpy
(
cur_name
,
&
tmp
,
log_params
->
name
_size
);
cur_name
+=
log_params
->
name
_size
;
memcpy
(
cur_name
,
&
tmp
,
log_params
->
label
_size
);
cur_name
+=
log_params
->
label
_size
;
strcpy
(
tmp
,
"consts"
);
memcpy
(
cur_name
,
&
tmp
,
log_params
->
name
_size
);
cur_name
+=
log_params
->
name
_size
;
memcpy
(
cur_name
,
&
tmp
,
log_params
->
label
_size
);
cur_name
+=
log_params
->
label
_size
;
strcpy
(
tmp
,
"timestamp"
);
memcpy
(
cur_name
,
&
tmp
,
log_params
->
name
_size
);
cur_name
+=
log_params
->
name
_size
;
log_params
->
masks_size
=
malloc
(
sizeof
(
size_t
)
*
log_params
->
nber_mask
);
log_params
->
masks_size
[
0
]
=
3
*
sizeof
(
double
);
log_params
->
masks_size
[
1
]
=
3
*
sizeof
(
float
);
log_params
->
masks_size
[
2
]
=
3
*
sizeof
(
float
);
log_params
->
masks_size
[
3
]
=
sizeof
(
float
);
log_params
->
masks_size
[
4
]
=
sizeof
(
float
);
log_params
->
masks_size
[
5
]
=
sizeof
(
float
);
log_params
->
masks_size
[
6
]
=
sizeof
(
float
)
+
sizeof
(
long
long
);
log_params
->
masks_size
[
7
]
=
sizeof
(
integertime_t
);
memcpy
(
cur_name
,
&
tmp
,
log_params
->
label
_size
);
cur_name
+=
log_params
->
label
_size
;
log_params
->
masks_
data_
size
=
malloc
(
sizeof
(
size_t
)
*
log_params
->
nber_mask
);
log_params
->
masks_
data_
size
[
0
]
=
3
*
sizeof
(
double
);
log_params
->
masks_
data_
size
[
1
]
=
3
*
sizeof
(
float
);
log_params
->
masks_
data_
size
[
2
]
=
3
*
sizeof
(
float
);
log_params
->
masks_
data_
size
[
3
]
=
sizeof
(
float
);
log_params
->
masks_
data_
size
[
4
]
=
sizeof
(
float
);
log_params
->
masks_
data_
size
[
5
]
=
sizeof
(
float
);
log_params
->
masks_
data_
size
[
6
]
=
sizeof
(
float
)
+
sizeof
(
long
long
);
log_params
->
masks_
data_
size
[
7
]
=
sizeof
(
integertime_t
);
// todo masks_type
...
...
@@ -625,14 +625,14 @@ void logger_parameters_free(struct logger_parameters* log_params) {
* @return Number of bytes read
*/
__attribute__
((
always_inline
))
INLINE
static
int
logger_read_chunk_header
(
const
char
*
buff
,
unsigned
int
*
mask
,
size_t
*
offset
,
size_t
cur_offset
)
{
memcpy
(
mask
,
buff
,
logger_
size_mask
);
buff
+=
logger_
size_mask
;
memcpy
(
mask
,
buff
,
logger_
mask_size
);
buff
+=
logger_
mask_size
;
*
offset
=
0
;
memcpy
(
offset
,
buff
,
logger_
size_
offset
);
memcpy
(
offset
,
buff
,
logger_offset
_size
);
*
offset
=
cur_offset
-
*
offset
;
return
logger_
size_mask
+
logger_
size_
offset
;
return
logger_
mask_size
+
logger_offset
_size
;
}
/**
...
...
This diff is collapsed.
Click to expand it.
src/logger.h
+
3
−
3
View file @
b26d0fb5
...
...
@@ -112,9 +112,9 @@ extern const unsigned int logger_datatype_size[];
/* Function prototypes. */
int
logger_compute_chunk_size
(
unsigned
int
mask
);
void
logger_log_all
(
struct
logger
*
log
,
struct
engine
*
e
);
void
logger_log_part
(
struct
logger
*
log
,
const
struct
part
*
p
,
const
unsigned
int
mask
,
size_t
*
offset
);
void
logger_log_gpart
(
struct
logger
*
log
,
const
struct
gpart
*
p
,
const
unsigned
int
mask
,
size_t
*
offset
);
void
logger_log_all
(
struct
logger
*
log
,
const
struct
engine
*
e
);
void
logger_log_part
(
struct
logger
*
log
,
const
struct
part
*
p
,
unsigned
int
mask
,
size_t
*
offset
);
void
logger_log_gpart
(
struct
logger
*
log
,
const
struct
gpart
*
p
,
unsigned
int
mask
,
size_t
*
offset
);
void
logger_init
(
struct
logger
*
log
,
const
struct
swift_params
*
params
,
const
struct
engine
*
e
);
void
logger_clean
(
struct
logger
*
log
);
void
logger_log_timestamp
(
struct
logger
*
log
,
integertime_t
t
,
size_t
*
offset
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment