#include "system/task_add.h"
#include "system/data_channel.h"
#include "system/float_word.h"

int task_add_run( void * task ) {

     add_config * config = (add_config *) task;
     for (uint32_t i = 0; i < DATA_CHANNEL_DEPTH; ++i){
	     float a, b;
	     data_channel_read(config->sources[0], (uint32_t *) &a);
	     data_channel_read(config->sources[1], (uint32_t *) &b);
	     float_word c;
	     c.value = a + b;
	     data_channel_write( config->sink, c.word);
         }
		
    return 0;
}

