signal_t copy_loop(signal_t signal2) { signal_t signal = new_signal(loop_signal); loop_get(signal, function) = loop_get(signal2, function); loop_get(signal, data) = loop_get(signal2, data); return signal; }
fa_signal_t copy_custom(signal_t signal2) { signal_t signal = new_signal(custom_signal); custom_get(signal, proc) = custom_get(signal2, proc); custom_get(signal, a) = custom_get(signal2, a); return signal; }
fa_signal_t fa_signal_loop(fa_signal_unary_signal_t function, fa_ptr_t data) { signal_t signal = new_signal(loop_signal); loop_get(signal, function) = function; loop_get(signal, data) = data; return signal; }
fa_signal_t fa_signal_custom(custom_proc_t proc, signal_t a) { signal_t signal = new_signal(custom_signal); custom_get(signal, proc) = proc; custom_get(signal, a) = a; return signal; }
fa_signal_t fa_signal_delay(int n, fa_signal_t a) { signal_t signal = new_signal(delay_signal); delay_get(signal, n) = n; delay_get(signal, a) = a; return signal; }
signal_t copy_delay(signal_t signal2) { signal_t signal = new_signal(delay_signal); delay_get(signal, n) = delay_get(signal2, n); delay_get(signal, a) = delay_get(signal2, a); return signal; }
fa_signal_t fa_signal_output(int n, int c, fa_signal_t a) { signal_t signal = new_signal(output_signal); output_get(signal, n) = n; output_get(signal, c) = c; output_get(signal, a) = a; return signal; }
signal_t copy_output(signal_t signal2) { signal_t signal = new_signal(output_signal); output_get(signal, n) = output_get(signal2, n); output_get(signal, c) = output_get(signal2, c); output_get(signal, a) = output_get(signal2, a); return signal; }
signal_t copy_lift(signal_t signal2) { signal_t signal = new_signal(lift_signal); lift_get(signal, name) = lift_get(signal2, name); lift_get(signal, function) = lift_get(signal2, function); lift_get(signal, data) = lift_get(signal2, data); lift_get(signal, a) = lift_get(signal2, a); return signal; }
//---------------------------------------------------------------------- VEC EEMD::addNoise(const VEC& signal, const float level) { int n = signal.size(); VEC rands = tools->getRands(n); VEC new_signal(n); new_signal = signal + level*rands; return(new_signal); }
fa_signal_t copy_insert(signal_t signal2) { signal_t signal = new_signal(insert_signal); insert_get(signal, name) = insert_get(signal2, name); insert_get(signal, numInputs) = insert_get(signal2, numInputs); insert_get(signal, numOutputs) = insert_get(signal2, numOutputs); insert_get(signal, input) = insert_get(signal2, input); insert_get(signal, output) = insert_get(signal2, output); insert_get(signal, a) = insert_get(signal2, a); return signal; }
fa_signal_t fa_signal_insert(string_t name, int numInputs, int numOutputs, int input, int output, signal_t a) { signal_t signal = new_signal(insert_signal); insert_get(signal, name) = name; insert_get(signal, numInputs) = numInputs; insert_get(signal, numOutputs) = numOutputs; insert_get(signal, input) = input; insert_get(signal, output) = output; insert_get(signal, a) = a; return signal; }
int sub() { const std::string sig(cmd + SUB_LEN); if (signals.count(sig) == 0) { new_signal(sig); subs.emplace(sig, std::set<int>()); } subs.at(sig).insert(socket); return sig.length(); }
fa_signal_t fa_signal_lift(fa_string_t n, fa_signal_unary_double_t function, fa_ptr_t data, fa_signal_t a) { signal_t signal = new_signal(lift_signal); lift_get(signal, name) = n; lift_get(signal, function) = function; lift_get(signal, data) = data; lift_get(signal, a) = a; return signal; }
signal* create_signal(pid_t pid, bool sign) { signal* thisSig = new_signal(); unsigned hashval; thisSig->pid = pid; thisSig->wait = sign; init_waitqueue_head(&(thisSig->wait_null)); hashval = hash(pid); spin_lock(&table_lock2); thisSig->next = all2[hashval]; all2[hashval] = thisSig; spin_unlock(&table_lock2); return thisSig; }
void ListeningThread::check_for_data() { m_mutex.lock(); ExceptionManager::instance().ExceptionDumps = false; std::map<Communicator, ListeningInfo*>::iterator it = m_comms.begin(); for( ; it != m_comms.end() && m_listening ; ++it ) { ListeningInfo * info = it->second; // if the communicator is waiting for data if( !info->ready ) { int flag; MPI_Test(&info->request, &flag, MPI_STATUS_IGNORE); // if data arrived, flag is not zero if( flag != 0 ) { try { XmlDoc::Ptr doc = XML::parse_cstring( info->data ); new_signal( it->first, doc ); info->ready = true; // ready to do another non-blocking receive } catch(XmlError & e) { CFerror << e.what() << CFendl; m_listening = false; } } } } m_mutex.unlock(); }
signal_t copy_constant(signal_t signal2) { signal_t signal = new_signal(constant_signal); constant_get(signal, value) = constant_get(signal2, value); return signal; }
signal_t fa_signal_random() { signal_t signal = new_signal(random_signal); return signal; }
fa_signal_t fa_signal_constant(double x) { signal_t signal = new_signal(constant_signal); constant_get(signal, value) = x; return signal; }
signal_t copy_input(signal_t signal2) { signal_t signal = new_signal(input_signal); input_get(signal, c) = input_get(signal2, c); return signal; }
fa_signal_t fa_signal_input(int c) { signal_t signal = new_signal(input_signal); input_get(signal, c) = c; return signal; }
signal_t fa_signal_time() { signal_t signal = new_signal(time_signal); return signal; }