diff --git a/fastlib/u/niche/build.py b/fastlib/u/niche/build.py new file mode 100644 index 0000000000..79e1514615 --- /dev/null +++ b/fastlib/u/niche/build.py @@ -0,0 +1,4 @@ + +binrule(name = "my-allnn", + sources = ["my_allnn.cc"], + deplibs = ["thor:thor"]) diff --git a/fastlib/u/niche/my_allnn.cc b/fastlib/u/niche/my_allnn.cc new file mode 100644 index 0000000000..c006fa2b41 --- /dev/null +++ b/fastlib/u/niche/my_allnn.cc @@ -0,0 +1,326 @@ +/** + * @file allnn.cc + * + * A multithreaded and cluster-parallel nearest neighbors finder. + * + * TODO: Currently doesn't output anything. + */ + +#include "thor/thor.h" +#include "fastlib/fastlib.h" + +/** + * An N-Body-Reduce problem. + */ +class Allnn { + public: + /** + * All parameters required by the execution of the algorithm. + * + * Required by THOR. + */ + struct Param { + public: + /** The dimensionality of the data sets. */ + index_t dim; + + OT_DEF_BASIC(Param) { + OT_MY_OBJECT(dim); + } + + public: + /** + * Initialize parameters from a data node (Req THOR). + */ + void Init(datanode *datanode) { + dim = -1; + } + + void SetDimensions(index_t vector_dimension, index_t n_points) { + dim = vector_dimension; + } + }; + + /** The bounding type. Required by THOR. */ + typedef DHrectBound<2> Bound; + + /** The type of point in use. Required by THOR. */ + typedef ThorVectorPoint QPoint; + typedef ThorVectorPoint RPoint; + + typedef BlankStat QStat; + typedef BlankStat RStat; + + typedef ThorNode RNode; + typedef ThorNode QNode; + + typedef BlankQPostponed QPostponed; + typedef BlankDelta Delta; + + typedef BlankGlobalResult GlobalResult; + + // rho + struct QResult { + public: + double distance_sq; + index_t neighbor_i; + + OT_DEF_BASIC(QResult) { + OT_MY_OBJECT(distance_sq); + OT_MY_OBJECT(neighbor_i); + } + + public: + void Init(const Param& param) { + distance_sq = DBL_MAX; + neighbor_i = -1; + } + + void Postprocess(const Param& param, + const QPoint& q_point, index_t q_index, + const RNode& r_root) {} + void ApplyPostponed(const Param& param, + const QPostponed& postponed, + const QPoint& q_point, + index_t q_index) {} + }; + + struct QSummaryResult { + public: + MinMaxVal distance_sq_hi; + + OT_DEF_BASIC(QSummaryResult) { + OT_MY_OBJECT(distance_sq_hi); + } + + public: + void Init(const Param& param) { + distance_sq_hi = DBL_MAX; + } + + void ApplyDelta(const Param& param, const Delta& delta) {} + void ApplyPostponed(const Param& param, + const QPostponed& postponed, const QNode& q_node) {} + + void ApplySummaryResult(const Param& param, const QSummaryResult& summary_result) { + distance_sq_hi.MinWith(summary_result.distance_sq_hi); + } + + void StartReaccumulate(const Param& param, const QNode& q_node) { + distance_sq_hi = 0; + } + + void Accumulate(const Param& param, const QResult& result) { + distance_sq_hi.MaxWith(result.distance_sq); + } + + void Accumulate(const Param& param, + const QSummaryResult& result, index_t n_points) { + distance_sq_hi.MaxWith(result.distance_sq_hi); + } + + void FinishReaccumulate(const Param& param, const QNode& q_node) {} + }; + + /** + * Abstract out the inner loop in a way that allows temporary variables + * to be register-allocated. + */ + struct PairVisitor { + public: + double distance_sq; + index_t neighbor_i; + + public: + void Init(const Param& param) {} + + bool StartVisitingQueryPoint(const Param& param, + const QPoint& q_point, + index_t q_index, + const RNode& r_node, + const QSummaryResult& unapplied_summary_results, + QResult* q_result, + GlobalResult* global_result) { + /* ignore horizontal join operator */ + distance_sq = q_result->distance_sq; + neighbor_i = q_result->neighbor_i; + return r_node.bound().MinDistanceSq(q_point.vec()) <= distance_sq; + } + + bool StartVisitingQueryPoint(const Param& param, + const QPoint& q_point, + index_t q_index, + const RNode& r_node, + QResult* q_result, + GlobalResult* global_result) { + distance_sq = q_result->distance_sq; + neighbor_i = q_result->neighbor_i; + return true; + } + + void VisitPair(const Param& param, + const QPoint& q_point, index_t q_index, + const RPoint& r_point, index_t r_index) { + double trial_distance_sq = la::DistanceSqEuclidean( + q_point.vec(), r_point.vec()); + if (unlikely(trial_distance_sq <= distance_sq)) { + // TODO: Is this really indicative of q != r? + if (likely(trial_distance_sq != 0)) { + neighbor_i = r_index; + distance_sq = trial_distance_sq; + } + } + } + + void FinishVisitingQueryPoint(const Param& param, + const QPoint& q_point, index_t q_index, + const RNode& r_node, const QSummaryResult& unapplied_summary_results, + QResult* q_result, GlobalResult* global_result) { + q_result->distance_sq = distance_sq; + q_result->neighbor_i = neighbor_i; + } + + void FinishVisitingQueryPoint(const Param& param, + const QPoint& q_point, index_t q_index, + const RNode& r_node, + QResult* q_result, GlobalResult* global_result) { + q_result->distance_sq = distance_sq; + q_result->neighbor_i = neighbor_i; + } + }; + + class Algorithm { + public: + /** + * Calculates a delta and intrinsic pruning. + */ + static bool ConsiderPairIntrinsic(const Param& param, + const QNode& q_node, const RNode& r_node, + Delta* delta, + GlobalResult* global_result, QPostponed* q_postponed) { + return true; + } + + /** + * Attempts extrinsic pruning. + */ + static bool ConsiderPairExtrinsic(const Param& param, + const QNode& q_node, const RNode& r_node, const Delta& delta, + const QSummaryResult& q_summary_result, const GlobalResult& global_result, + QPostponed* q_postponed) { + double distance_sq_lo = q_node.bound().MinDistanceSq(r_node.bound()); + return distance_sq_lo <= q_summary_result.distance_sq_hi; + } + + /** + * Attempts termination pruning. + */ + static bool ConsiderQueryTermination(const Param& param, + const QNode& q_node, + const QSummaryResult& q_summary_result, const GlobalResult& global_result, + QPostponed* q_postponed) { + return true; + } + + /** + * Computes a heuristic for how early a computation should occur -- smaller + * values are earlier. + */ + static double Heuristic(const Param& param, + const QNode& q_node, const RNode& r_node, const Delta& delta) { + return r_node.bound().MinToMidSq(q_node.bound()); + } + }; +}; + + + + + +template +void MyMonochromaticDualTreeMain(datanode *module, const char *gnp_name) { + const int DATA_CHANNEL = 110; + const int Q_RESULTS_CHANNEL = 120; + const int GNP_CHANNEL = 200; + double results_megs = fx_param_double(module, "results/megs", 1000); + DistributedCache *points_cache; + index_t n_points; + ThorTree tree; + DistributedCache q_results; + typename GNP::Param param; + + rpc::Init(); + + fx_submodule(module, NULL, "io"); // influnce output order + + param.Init(fx_submodule(module, gnp_name, gnp_name)); + + fx_timer_start(module, "read"); + points_cache = new DistributedCache(); + n_points = thor::ReadPoints( + param, DATA_CHANNEL + 0, DATA_CHANNEL + 1, + fx_submodule(module, "data", "data"), points_cache); + fx_timer_stop(module, "read"); + + typename GNP::QPoint default_point; + CacheArray::GetDefaultElement( + points_cache, &default_point); + param.SetDimensions(default_point.vec().length(), n_points); + + fx_timer_start(module, "tree"); + thor::CreateKdTree( + param, DATA_CHANNEL + 2, DATA_CHANNEL + 3, + fx_submodule(module, "tree", "tree"), n_points, points_cache, &tree); + fx_timer_stop(module, "tree"); + + typename GNP::QResult default_result; + default_result.Init(param); + tree.CreateResultCache(Q_RESULTS_CHANNEL, default_result, + results_megs, &q_results); + + typename GNP::GlobalResult global_result; + thor::RpcDualTree( + fx_submodule(module, "gnp", "gnp"), GNP_CHANNEL, param, + &tree, &tree, &q_results, &global_result); + + + // Emit the results; this needs to be folded into THOR + Matrix classifications; + classifications.Init(1, n_points); + if (rpc::is_root()) { + CacheArray result_array; + CacheArray points_array; + result_array.Init(&q_results, BlockDevice::M_READ); + points_array.Init(points_cache, BlockDevice::M_READ); + CacheReadIter result_iter(&result_array, 0); + CacheReadIter points_iter(&points_array, 0); + for (index_t i = 0; i < n_points; i++, + result_iter.Next(), points_iter.Next()) { + //printf("%d", (*points_iter).index()); + printf("\ndist: %f", (*result_iter).distance_sq); + printf("\nneighbor: %d", (*result_iter).neighbor_i); + + } + } + printf("\n"); + // data::Save(fx_param_str(module, "out", "out.csv"), classifications); + + + + + + + rpc::Done(); +} + + + + +int main(int argc, char *argv[]) { + fx_init(argc, argv); + + MyMonochromaticDualTreeMain >( + fx_root, "allnn"); + + fx_done(); +} diff --git a/fastlib/u/niche/tree/Makefile b/fastlib/u/niche/tree/Makefile new file mode 100644 index 0000000000..09e2aa698e --- /dev/null +++ b/fastlib/u/niche/tree/Makefile @@ -0,0 +1,177 @@ +/net/hc293/niche/fastlib/u/niche/tree/kdtree: /net/hc293/niche/fastlib/u/niche/tree/Makefile /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/u/niche/tree/kdtree + @echo '... Making /net/hc293/niche/fastlib/u/niche/tree/kdtree' + @rm -f /net/hc293/niche/fastlib/u/niche/tree/kdtree + @ln -s -f /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/u/niche/tree/kdtree /net/hc293/niche/fastlib/u/niche/tree/kdtree + @echo '*** Created 1 symlinks in /net/hc293/niche/fastlib/u/niche/tree/.' +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/u/niche/tree/kdtree: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libu_niche_tree_kdtree__auto.a /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a + @echo '... Making bin/x86_64_Linux_check_gcc_/u/niche/tree/kdtree' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/u/niche/tree + @g++ -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/u/niche/tree/kdtree -O2 -finline-functions -finline-limit=2000 -g -DDEBUG /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libu_niche_tree_kdtree__auto.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a -lm -lpthread -lg2c +pseudo_4: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libu_niche_tree_kdtree__auto.a /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a + @echo '*** Done with /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libu_niche_tree_kdtree__auto.a /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a' +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libu_niche_tree_kdtree__auto.a: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/u_niche_tree_kdtree.o + @echo '... Making bin/x86_64_Linux_check_gcc_/libu_niche_tree_kdtree__auto.a' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_ + @ar r /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libu_niche_tree_kdtree__auto.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/u_niche_tree_kdtree.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/u_niche_tree_kdtree.o: /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfastlib_fastlib.h /net/hc293/niche/fastlib/u/niche/tree/kdtree.cc + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/u_niche_tree_kdtree.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/u/niche/tree && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c kdtree.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/u_niche_tree_kdtree.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfastlib_fastlib.h: /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libla_la.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfx_fx.h /net/hc293/niche/fastlib/fastlib/fastlib.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libmath_math.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfile_file.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libdata_data.h + @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libfastlib_fastlib.h' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON + @touch /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfastlib_fastlib.h +/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libmath_math.h: /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h /net/hc293/niche/fastlib/math/kernel.h /net/hc293/niche/fastlib/math/discrete.h /net/hc293/niche/fastlib/math/geometry.h /net/hc293/niche/fastlib/math/math.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h + @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libmath_math.h' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON + @touch /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libmath_math.h +/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libdata_data.h: /net/hc293/niche/fastlib/data/crossvalidation.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libla_la.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfile_file.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h /net/hc293/niche/fastlib/data/dataset.h + @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libdata_data.h' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON + @touch /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libdata_data.h +/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfx_fx.h: /net/hc293/niche/fastlib/fx/datastore.h /net/hc293/niche/fastlib/fx/timer.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h /net/hc293/niche/fastlib/fx/fx.h + @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libfx_fx.h' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON + @touch /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfx_fx.h +pseudo_13: /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a + @echo '*** Done with /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a' +pseudo_15: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a + @echo '*** Done with /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a' +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_geometry.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_discrete.o + @echo '... Making bin/x86_64_Linux_check_gcc_/libmath_math.a' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_ + @ar r /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libmath_math.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_discrete.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_geometry.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_geometry.o: /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h /net/hc293/niche/fastlib/math/kernel.h /net/hc293/niche/fastlib/math/discrete.h /net/hc293/niche/fastlib/math/geometry.h /net/hc293/niche/fastlib/math/geometry.cc /net/hc293/niche/fastlib/math/math.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/math_geometry.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/math && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c geometry.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_geometry.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_discrete.o: /net/hc293/niche/fastlib/math/discrete.cc /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h /net/hc293/niche/fastlib/math/kernel.h /net/hc293/niche/fastlib/math/discrete.h /net/hc293/niche/fastlib/math/geometry.h /net/hc293/niche/fastlib/math/math.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/math_discrete.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/math && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c discrete.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/math_discrete.o +pseudo_25: /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a + @echo '*** Done with /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a' +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/data_dataset.o + @echo '... Making bin/x86_64_Linux_check_gcc_/libdata_data.a' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_ + @ar r /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libdata_data.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/data_dataset.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/data_dataset.o: /net/hc293/niche/fastlib/data/dataset.cc /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libla_la.h /net/hc293/niche/fastlib/data/crossvalidation.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfile_file.h /net/hc293/niche/fastlib/data/dataset.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/data_dataset.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/data && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c dataset.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/data_dataset.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libla_la.h: /net/hc293/niche/fastlib/la/uselapack.h /net/hc293/niche/fastlib/la/la.h /net/hc293/niche/fastlib/la/clapack.h /net/hc293/niche/fastlib/la/blas.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h /net/hc293/niche/fastlib/la/matrix.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h + @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libla_la.h' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON + @touch /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libla_la.h +/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfile_file.h: /net/hc293/niche/fastlib/file/textfile.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h + @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libfile_file.h' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON + @touch /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libfile_file.h +pseudo_33: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a + @echo '*** Done with /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/file_textfile.o + @echo '... Making bin/x86_64_Linux_check_gcc_/libfile_file.a' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_ + @ar r /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfile_file.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/file_textfile.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/file_textfile.o: /net/hc293/niche/fastlib/file/textfile.cc /net/hc293/niche/fastlib/file/textfile.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/file_textfile.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/file && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c textfile.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/file_textfile.o +pseudo_38: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a + @echo '*** Done with /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a' +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_timer.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_datastore.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_fx.o + @echo '... Making bin/x86_64_Linux_check_gcc_/libfx_fx.a' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_ + @ar r /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libfx_fx.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_datastore.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_timer.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_fx.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_fx.o: /net/hc293/niche/fastlib/fx/datastore.h /net/hc293/niche/fastlib/fx/timer.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h /net/hc293/niche/fastlib/fx/fx.c /net/hc293/niche/fastlib/fx/fx.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/fx_fx.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/fx && gcc -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c fx.c -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_fx.o -Wall +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_timer.o: /net/hc293/niche/fastlib/fx/datastore.h /net/hc293/niche/fastlib/fx/timer.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h /net/hc293/niche/fastlib/fx/fx.h /net/hc293/niche/fastlib/fx/timer.c + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/fx_timer.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/fx && gcc -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c timer.c -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_timer.o -Wall +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_datastore.o: /net/hc293/niche/fastlib/fx/datastore.h /net/hc293/niche/fastlib/fx/timer.h /net/hc293/niche/fastlib/fx/datastore.c /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h /net/hc293/niche/fastlib/fx/fx.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/fx_datastore.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/fx && gcc -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c datastore.c -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/fx_datastore.o -Wall +pseudo_49: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a + @echo '*** Done with /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a' +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/la_uselapack.o + @echo '... Making bin/x86_64_Linux_check_gcc_/libla_la.a' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_ + @ar r /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libla_la.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/la_uselapack.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/la_uselapack.o: /net/hc293/niche/fastlib/la/uselapack.h /net/hc293/niche/fastlib/la/la.h /net/hc293/niche/fastlib/la/uselapack.cc /net/hc293/niche/fastlib/la/clapack.h /net/hc293/niche/fastlib/la/blas.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h /net/hc293/niche/fastlib/la/matrix.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/la_uselapack.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/la && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c uselapack.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/la_uselapack.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h: /net/hc293/niche/fastlib/col/string.h /net/hc293/niche/fastlib/col/rangeset.h /net/hc293/niche/fastlib/col/fastalloc.h /net/hc293/niche/fastlib/col/intmap.h /net/hc293/niche/fastlib/col/arraylist.h /net/hc293/niche/fastlib/col/queue.h /net/hc293/niche/fastlib/col/heap.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h + @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON + @touch /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libcol_col.h +/net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a: /net/hc293/niche/fastlib/la/blaspack.tgz + @echo '... Making /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a' + @mkdir -p /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON + @echo '... Extracting FORTRAN files...' + @mkdir -p /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack_workspace + @cd /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack_workspace && tar -xzf /net/hc293/niche/fastlib/la/blaspack.tgz + @echo '*** Compiling LAPACK with BLAS reference implementation.' + @echo '!!! LAPACK WARNING: For better performance, install ATLAS or Intel MKL.' + @echo '... Our compilation differs slightly from regular LAPACK/BLAS:' + @echo '... NOTE 2: We omit complex-number routines (halves compile time).' + @echo '... NOTE 3: We require case sensitivity for LAPACK/BLAS string parameters.' + @echo '... This may take several minutes (about 800 FORTRAN files).' + @cd /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack_workspace && g77 -O2 -c src/*.f + @echo '... Almost done with LAPACK/BLAS...' + @cd /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack_workspace && g77 -O0 -c src/dlamch.f src/slamch.f + @cd /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack_workspace && ar r /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack.a *.o + @echo '... Created archive, cleaning up.' + @rm -rf /net/hc293/niche/fastlib/bin_keep/x86_64_Linux_COMMON_gcc_COMMON/libblaspack_workspace + @echo '*** Done with LAPACK and BLAS!' +/net/hc293/niche/fastlib/la/blaspack.tgz: + @echo '... Making /net/hc293/niche/fastlib/la/blaspack.tgz' + @echo 'Downloading the file using curl...' + @cd /net/hc293/niche/fastlib/la && curl -L -o blaspack.tgz "http://www.cc.gatech.edu/~garryb/fastlib/blaspack.tgz" +pseudo_61: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a + @echo '*** Done with /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/col_col.o + @echo '... Making bin/x86_64_Linux_check_gcc_/libcol_col.a' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_ + @ar r /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libcol_col.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/col_col.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/col_col.o: /net/hc293/niche/fastlib/col/string.h /net/hc293/niche/fastlib/col/rangeset.h /net/hc293/niche/fastlib/col/fastalloc.h /net/hc293/niche/fastlib/col/intmap.h /net/hc293/niche/fastlib/col/arraylist.h /net/hc293/niche/fastlib/col/col.cc /net/hc293/niche/fastlib/col/queue.h /net/hc293/niche/fastlib/col/heap.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/col_col.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/col && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c col.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/col_col.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h: /net/hc293/niche/fastlib/base/otrav.h /net/hc293/niche/fastlib/base/ccmem.h /net/hc293/niche/fastlib/base/scale.h /net/hc293/niche/fastlib/base/compiler_impl.h /net/hc293/niche/fastlib/base/otrav_impl.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/base/basic_types.h /net/hc293/niche/fastlib/base/common.h /net/hc293/niche/fastlib/base/cc.h /net/hc293/niche/fastlib/base/fortran.h /net/hc293/niche/fastlib/base/debug.h /net/hc293/niche/fastlib/base/test.h /net/hc293/niche/fastlib/base/compiler.h + @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON + @touch /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/libbase_base.h +pseudo_73: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a + @echo '*** Done with /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a' +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a: /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_otrav.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_common.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_cc.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_ccmem.o + @echo '... Making bin/x86_64_Linux_check_gcc_/libbase_base.a' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_ + @ar r /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/libbase_base.a /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_common.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_cc.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_ccmem.o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_otrav.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_otrav.o: /net/hc293/niche/fastlib/base/otrav.cc /net/hc293/niche/fastlib/base/otrav.h /net/hc293/niche/fastlib/base/ccmem.h /net/hc293/niche/fastlib/base/scale.h /net/hc293/niche/fastlib/base/compiler_impl.h /net/hc293/niche/fastlib/base/otrav_impl.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/base/basic_types.h /net/hc293/niche/fastlib/base/common.h /net/hc293/niche/fastlib/base/cc.h /net/hc293/niche/fastlib/base/fortran.h /net/hc293/niche/fastlib/base/debug.h /net/hc293/niche/fastlib/base/test.h /net/hc293/niche/fastlib/base/compiler.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/base_otrav.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/base && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c otrav.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_otrav.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_ccmem.o: /net/hc293/niche/fastlib/base/otrav.h /net/hc293/niche/fastlib/base/ccmem.h /net/hc293/niche/fastlib/base/scale.h /net/hc293/niche/fastlib/base/compiler_impl.h /net/hc293/niche/fastlib/base/otrav_impl.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/base/basic_types.h /net/hc293/niche/fastlib/base/common.h /net/hc293/niche/fastlib/base/cc.h /net/hc293/niche/fastlib/base/fortran.h /net/hc293/niche/fastlib/base/debug.h /net/hc293/niche/fastlib/base/ccmem.cc /net/hc293/niche/fastlib/base/test.h /net/hc293/niche/fastlib/base/compiler.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/base_ccmem.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/base && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c ccmem.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_ccmem.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_cc.o: /net/hc293/niche/fastlib/base/otrav.h /net/hc293/niche/fastlib/base/ccmem.h /net/hc293/niche/fastlib/base/scale.h /net/hc293/niche/fastlib/base/cc.cc /net/hc293/niche/fastlib/base/compiler_impl.h /net/hc293/niche/fastlib/base/otrav_impl.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/base/basic_types.h /net/hc293/niche/fastlib/base/common.h /net/hc293/niche/fastlib/base/cc.h /net/hc293/niche/fastlib/base/fortran.h /net/hc293/niche/fastlib/base/debug.h /net/hc293/niche/fastlib/base/test.h /net/hc293/niche/fastlib/base/compiler.h + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/base_cc.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/base && g++ -Wall -Woverloaded-virtual -fno-exceptions -Wparentheses -fno-exceptions -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c cc.cc -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_cc.o +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_common.o: /net/hc293/niche/fastlib/base/otrav.h /net/hc293/niche/fastlib/base/ccmem.h /net/hc293/niche/fastlib/base/scale.h /net/hc293/niche/fastlib/base/compiler_impl.h /net/hc293/niche/fastlib/base/otrav_impl.h /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/base/basic_types.h /net/hc293/niche/fastlib/base/common.h /net/hc293/niche/fastlib/base/cc.h /net/hc293/niche/fastlib/base/fortran.h /net/hc293/niche/fastlib/base/debug.h /net/hc293/niche/fastlib/base/test.h /net/hc293/niche/fastlib/base/compiler.h /net/hc293/niche/fastlib/base/common.c + @echo '... Making bin/x86_64_Linux_check_gcc_/obj/base_common.o' + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj + @cd /net/hc293/niche/fastlib/base && gcc -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON -I/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_ -I/net/hc293/niche/fastlib -O2 -finline-functions -finline-limit=2000 -g -DDEBUG -c common.c -o /net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/obj/base_common.o -Wall +/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/base/basic_types.h: /net/hc293/niche/fastlib/script/config.py /net/hc293/niche/fastlib/base/config/template_types.c + @echo '... Making bin/x86_64_Linux_COMMON_gcc_COMMON/base/basic_types.h' + @/net/hc293/niche/fastlib/script/config.py --genfiles_dir=/net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON --source_dir=/net/hc293/niche/fastlib + @mkdir -p /net/hc293/niche/fastlib/bin/x86_64_Linux_COMMON_gcc_COMMON/base +clean: + @echo 'Removing the bin/ directory.' + rm -rf /net/hc293/niche/fastlib/bin/* diff --git a/fastlib/u/niche/tree/build.py b/fastlib/u/niche/tree/build.py new file mode 100644 index 0000000000..c0ff05979a --- /dev/null +++ b/fastlib/u/niche/tree/build.py @@ -0,0 +1,6 @@ +binrule( + name = "kdtree", + sources = ["kdtree.cc"], + headers = [], + linkables = ["fastlib:fastlib"] + ) diff --git a/fastlib/u/niche/tree/kdtree b/fastlib/u/niche/tree/kdtree new file mode 120000 index 0000000000..edc880596a --- /dev/null +++ b/fastlib/u/niche/tree/kdtree @@ -0,0 +1 @@ +/net/hc293/niche/fastlib/bin/x86_64_Linux_check_gcc_/u/niche/tree/kdtree \ No newline at end of file diff --git a/fastlib/u/niche/tree/kdtree.cc b/fastlib/u/niche/tree/kdtree.cc new file mode 100644 index 0000000000..ca8c111482 --- /dev/null +++ b/fastlib/u/niche/tree/kdtree.cc @@ -0,0 +1,6 @@ +#include "fastlib/fastlib.h" + +int main(int argc, char *argv[]) { + + +} diff --git a/fastlib/u/niche/tree/kdtree.h b/fastlib/u/niche/tree/kdtree.h new file mode 100644 index 0000000000..20b2dbd1dd --- /dev/null +++ b/fastlib/u/niche/tree/kdtree.h @@ -0,0 +1,2 @@ +#include "base/common.h" +#include "col/arraylist.h"