// array.c #ifndef array_C #define array_C #include "trfutil/TRFMath.h" #ifndef DEFECT_CMATH_NOT_STD using std::abs; #endif //********************************************************************** // Member functions. //********************************************************************** // Return the smallest element. template T array::min( ) const { T t = data[0]; for ( int i=1; i T array::max( ) const { T t = data[0]; for ( int i=1; i t ) t = data[i]; return t; } //********************************************************************** // Return the absolute smallest element. template T array::amin( ) const { T t = abs(data[0]); for ( int i=1; i T array::amax( ) const { T t = abs(data[0]); for ( int i=1; i t ) t = abs(data[i]); return t; } //********************************************************************** // difference template array array::operator-( ) { array arr(size); for ( int i=0; i std::ostream& operator<<(std::ostream& stream, const array& arr) { arr.ostr(stream); return stream; } //********************************************************************** // equality template bool operator==(const array& arr1, const array& arr2) { if ( arr1.size != arr2.size ) return false; for ( int i=0; i bool operator!=(const array& arr1, const array& arr2) { return ! (arr1 == arr2); } //********************************************************************** // equality with tolerance template bool is_equal(const array& arr1, const array& arr2) { if ( arr1.size != arr2.size ) return false; for ( int i=0; i