int PokeProxy::ev(int stat) const { if (stat >= 0 && stat < evs().length()) { return evs()[stat]; } else { return 0; } }
tensor2D eigenVectors(const tensor2D& t) { vector2D evals(eigenValues(t)); tensor2D evs ( eigenVector(t, evals.x()), eigenVector(t, evals.y()) ); return evs; }
tensor eigenVectors(const symmTensor& t) { vector evals(eigenValues(t)); tensor evs ( eigenVector(t, evals.x()), eigenVector(t, evals.y()), eigenVector(t, evals.z()) ); return evs; }
int EpollDemultiplexer::wait_event( std::map<Handle, EventHandler *>& handlers, int timeout ) { std::vector<struct epoll_event> evs(max_fd); int num = epoll_wait( epoll_fd, &evs[0], max_fd, timeout ); if ( num > 0 ) { for ( int i = 0; i < num; ++i ) { Handle handle = evs[i].data.fd ; if ( EPOLLERR & evs[i].events ) { (handlers[ handle ])->handle_error(); } else { if ( EPOLLIN & evs[i].events ) { handlers[ handle ]->handle_read(); } if ( EPOLLOUT & evs[i].events ) { handlers[ handle ]->handle_write(); } } } } else if ( num < 0 ) { printf("epoll_wait error %s\n", strerror(errno) ); } return num; }