diff --git a/src/task.c b/src/task.c index f611ab8115b7ce24ddc1bd605df4cfd65de6348f..fb69cfbea14294bfb0909cab6892b13c4d13be38 100644 --- a/src/task.c +++ b/src/task.c @@ -304,3 +304,29 @@ void task_addunlock_old(struct task *ta, struct task *tb) { lock_unlock_blind(&ta->lock); } + +/** + * @brief Prints the list of tasks contained in a given mask + * + * @param The mask to analyse + */ +void task_print_mask(unsigned int mask) { + + printf("task_print_mask: The tasks to run are ["); + for (int k = 1; k < task_type_count; k++) + printf(" %s=%s", taskID_names[k], (mask & (1 << k)) ? "yes" : "no"); + printf(" ]\n"); +} + +/** + * @brief Prints the list of subtasks contained in a given submask + * + * @param The submask to analyse + */ +void task_print_submask(unsigned int submask) { + + printf("task_print_submask: The subtasks to run are ["); + for (int k = 1; k < task_subtype_count; k++) + printf(" %s=%s", subtaskID_names[k], (submask & (1 << k)) ? "yes" : "no"); + printf(" ]\n"); +} diff --git a/src/task.h b/src/task.h index 1203a954c9b9b5314683f61428995d47fdea7dc9..b86631cc49bfad102302e3bab380bfb5eb8ed1e0 100644 --- a/src/task.h +++ b/src/task.h @@ -96,6 +96,7 @@ void task_unlock(struct task *t); float task_overlap(const struct task *ta, const struct task *tb); int task_lock(struct task *t); void task_print_mask(unsigned int mask); +void task_print_submask(unsigned int submask); void task_do_rewait(struct task *t); #endif /* SWIFT_TASK_H */