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
fb4c01cf
Commit
fb4c01cf
authored
7 years ago
by
lhausamm
Committed by
Loic Hausammann
6 years ago
Browse files
Options
Downloads
Patches
Plain Diff
update file header
parent
5f0906a3
Branches
Branches containing commit
Tags
Tags containing commit
1 merge request
!502
Logger
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/logger.c
+81
-37
81 additions, 37 deletions
src/logger.c
src/logger.h
+10
-7
10 additions, 7 deletions
src/logger.h
with
91 additions
and
44 deletions
src/logger.c
+
81
−
37
View file @
fb4c01cf
...
...
@@ -257,6 +257,26 @@ void logger_log_timestamp(unsigned long long int timestamp, size_t *offset,
*
offset
=
offset_new
;
}
void
logger_ensure_size
(
size_t
total_nr_parts
,
size_t
logger_size
)
{
size_t
limit
,
i
;
struct
logger_const
log_const
;
logger_const_init
(
&
log_const
);
limit
=
log_const
.
offset
+
log_const
.
mask
;
for
(
i
=
0
;
i
<
log_const
.
nber_mask
;
i
++
)
{
limit
+=
log_const
.
masks_size
[
i
];
}
limit
*=
total_nr_parts
;
if
(
logger_size
<
limit
)
error
(
"Need a larger logger size"
);
logger_const_free
(
&
log_const
);
}
/**
* @brief Write a file header to a logger file
*
...
...
@@ -265,6 +285,8 @@ void logger_log_timestamp(unsigned long long int timestamp, size_t *offset,
*
*/
void
logger_write_file_header
(
struct
dump
*
dump
)
{
message
(
"writing header"
);
size_t
i
,
j
;
char
*
buff
,
*
name_buff
,
*
skip_header
;
size_t
*
file_offset
;
...
...
@@ -310,16 +332,21 @@ void logger_write_file_header(struct dump *dump) {
/* last step */
memcpy
(
skip_header
,
file_offset
,
log_const
.
offset
);
logger_const_free
(
&
log_const
);
}
void
logger_const_init
(
struct
logger_const
*
log_const
)
{
log_const
->
name
=
10
;
log_const
->
name
=
20
*
sizeof
(
char
)
;
log_const
->
offset
=
7
;
log_const
->
mask
=
1
;
log_const
->
nber_mask
=
8
;
char
*
cur_name
;
char
tmp
[
log_const
->
name
];
size_t
block_size
;
// masks value
log_const
->
masks
=
malloc
(
sizeof
(
size_t
)
*
log_const
->
nber_mask
);
log_const
->
masks
[
0
]
=
logger_mask_x
;
...
...
@@ -332,44 +359,61 @@ void logger_const_init(struct logger_const* log_const) {
log_const
->
masks
[
7
]
=
logger_mask_timestamp
;
// masks name
size_t
name_size
=
sizeof
(
char
)
*
log_const
->
name
;
log_const
->
masks_name
=
malloc
(
name_size
*
log_const
->
nber_mask
);
char
*
tmp
=
malloc
(
sizeof
(
char
)
*
log_const
->
name
);
tmp
=
"position"
;
memcpy
(
log_const
->
masks_name
,
&
tmp
,
log_const
->
name
);
log_const
->
masks_name
+=
log_const
->
name
*
sizeof
(
char
);
tmp
=
"velocity"
;
memcpy
(
log_const
->
masks_name
,
&
tmp
,
log_const
->
name
);
log_const
->
masks_name
+=
log_const
->
name
*
sizeof
(
char
);
tmp
=
"acceleration"
;
memcpy
(
log_const
->
masks_name
,
&
tmp
,
log_const
->
name
);
log_const
->
masks_name
+=
log_const
->
name
*
sizeof
(
char
);
tmp
=
"entropy"
;
memcpy
(
log_const
->
masks_name
,
&
tmp
,
log_const
->
name
);
log_const
->
masks_name
+=
log_const
->
name
*
sizeof
(
char
);
tmp
=
"cutoff radius"
;
memcpy
(
log_const
->
masks_name
,
&
tmp
,
log_const
->
name
);
log_const
->
masks_name
+=
log_const
->
name
*
sizeof
(
char
);
tmp
=
"density"
;
memcpy
(
log_const
->
masks_name
,
&
tmp
,
log_const
->
name
);
log_const
->
masks_name
+=
log_const
->
name
*
sizeof
(
char
);
tmp
=
"consts"
;
memcpy
(
log_const
->
masks_name
,
&
tmp
,
log_const
->
name
);
log_const
->
masks_name
+=
log_const
->
name
*
sizeof
(
char
);
tmp
=
"timestamp"
;
memcpy
(
log_const
->
masks_name
,
&
tmp
,
log_const
->
name
);
log_const
->
masks_name
+=
log_const
->
name
*
sizeof
(
char
);
block_size
=
log_const
->
name
*
log_const
->
nber_mask
;
log_const
->
masks_name
=
malloc
(
block_size
);
cur_name
=
log_const
->
masks_name
;
strcpy
(
tmp
,
"position"
);
memcpy
(
cur_name
,
&
tmp
,
log_const
->
name
);
cur_name
+=
log_const
->
name
;
strcpy
(
tmp
,
"velocity"
);
memcpy
(
cur_name
,
&
tmp
,
log_const
->
name
);
cur_name
+=
log_const
->
name
;
strcpy
(
tmp
,
"acceleration"
);
memcpy
(
cur_name
,
&
tmp
,
log_const
->
name
);
cur_name
+=
log_const
->
name
;
strcpy
(
tmp
,
"entropy"
);
memcpy
(
cur_name
,
&
tmp
,
log_const
->
name
);
cur_name
+=
log_const
->
name
;
strcpy
(
tmp
,
"cutoff radius"
);
memcpy
(
cur_name
,
&
tmp
,
log_const
->
name
);
cur_name
+=
log_const
->
name
;
strcpy
(
tmp
,
"density"
);
memcpy
(
cur_name
,
&
tmp
,
log_const
->
name
);
cur_name
+=
log_const
->
name
;
strcpy
(
tmp
,
"consts"
);
memcpy
(
cur_name
,
&
tmp
,
log_const
->
name
);
cur_name
+=
log_const
->
name
;
strcpy
(
tmp
,
"timestamp"
);
memcpy
(
cur_name
,
&
tmp
,
log_const
->
name
);
cur_name
+=
log_const
->
name
;
log_const
->
masks_size
=
malloc
(
sizeof
(
size_t
)
*
log_const
->
nber_mask
);
log_const
->
masks_size
[
0
]
=
3
*
sizeof
(
double
);
log_const
->
masks_size
[
1
]
=
3
*
sizeof
(
float
);
log_const
->
masks_size
[
2
]
=
3
*
sizeof
(
float
);
log_const
->
masks_size
[
3
]
=
sizeof
(
float
);
log_const
->
masks_size
[
4
]
=
sizeof
(
float
);
log_const
->
masks_size
[
5
]
=
sizeof
(
float
);
log_const
->
masks_size
[
6
]
=
sizeof
(
float
)
+
sizeof
(
long
long
);
log_const
->
masks_size
[
7
]
=
8
;
// todo masks_type
}
void
logger_const_free
(
struct
logger_const
*
log_const
)
{
free
(
log_const
->
masks
);
free
(
log_const
->
masks_name
);
free
(
log_const
->
masks_size
);
}
/**
* @brief Read a logger message and store the data in a #part.
...
...
This diff is collapsed.
Click to expand it.
src/logger.h
+
10
−
7
View file @
fb4c01cf
...
...
@@ -90,12 +90,14 @@ struct dump;
#define LOGGER_NBER_SIZE 1 // size of the number of elements
struct
logger_const
{
size_t
name
;
size_t
offset
;
size_t
mask
;
size_t
nber_mask
;
size_t
*
masks
;
char
*
masks_name
;
size_t
name
;
// labels size
size_t
offset
;
// offset size
size_t
mask
;
// mask size
size_t
nber_mask
;
// number of different masks
size_t
*
masks
;
// value of each masks (e.g. logger_mask_...)
size_t
*
masks_size
;
// size of each mask
char
*
masks_name
;
// label of each mask
char
*
masks_type
;
// type of data (e.g. 'CHAR', 'INT', 'FLOAT')
};
...
...
@@ -113,7 +115,8 @@ int logger_read_timestamp(unsigned long long int *t, size_t *offset,
const
char
*
buff
);
void
logger_write_file_header
(
struct
dump
*
dump
);
void
logger_const_init
(
struct
logger_const
*
log_const
);
void
logger_const_free
(
struct
logger_const
*
log_const
);
void
logger_ensure_size
(
size_t
total_nr_parts
,
size_t
logger_size
);
/**
* @brief Should this particle write its data now ?
...
...
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