00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined EC_DET_DIST_HPP
00024 #define EC_DET_DIST_HPP
00025
00026 #include "udefs.hpp"
00027 #include "node_manager.hpp"
00028 #include "socket.hpp"
00029 #include "common_data.hpp"
00030 #include "atomic_i686.hpp"
00031 #include "config.hpp"
00032
00033 #include <iostream>
00034
00035
00043 namespace eqn_cruncher
00044 {
00057 void
00058 replace_column(eqn_cruncher::matrix_t& mat, std::vector<double> const& rhs,
00059 int col_no);
00060
00061
00075 void*
00076 store_result(double* dptr, eqn_cruncher::socket s);
00077
00078
00089 void*
00090 eval_determinant_remote(void* vptr);
00091
00092
00103 double
00104 determinant(eqn_cruncher::matrix_t const& _m);
00105
00106
00117 void*
00118 replace_and_remote_eval(void* vptr);
00119
00120
00131 void*
00132 replace_and_local_eval(void* vptr);
00133
00134
00149 void
00150 eval_variables(eqn_cruncher::matrix_t const& mat,
00151 std::vector<double> const& rhs,
00152 std::vector<double>& result);
00153 }
00154
00155
00156 #endif // EC_DET_DIST_HPP