# Copyright (c) 2004 Michael Stevens
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

# bench2 - measurs the performance of sparse matrix and vector operations.

exe bench2
    : bench2.cpp bench21.cpp bench22.cpp bench23.cpp
    ;
