/* * $Id: tinyvecio.cc,v 1.3 2003/12/11 03:44:22 julianc Exp $ * * Copyright (C) 1997 Todd Veldhuizen * All rights reserved. Please see for terms and * conditions of use. * */ #ifndef BZ_TINYVECIO_CC #define BZ_TINYVECIO_CC #ifndef BZ_TINYVEC_H #include #endif BZ_NAMESPACE(blitz) // NEEDS_WORK template ostream& operator<<(ostream& os, const TinyVector& x) { os << N_length << " [ "; for (int i=0; i < N_length; ++i) { os << setw(10) << x[i]; if (!((i+1)%7)) os << endl << " "; } os << " ]"; return os; } // Input of tinyvec contribute by Adam Levar template istream& operator>>(istream& is, TinyVector& x) { int length; char sep; is >> length; is >> sep; BZPRECHECK(sep == '[', "Format error while scanning input array" << endl << " (expected '[' before beginning of array data)"); BZPRECHECK(length == N_length, "Size mismatch"); for (int i = 0; i < N_length; ++i) { BZPRECHECK(!is.bad(), "Premature end of input while scanning array"); is >> x(i); } is >> sep; BZPRECHECK(sep == ']', "Format error while scanning input array" << endl << " (expected ']' after end of array data)"); return is; } BZ_NAMESPACE_END #endif // BZ_TINYVECIO_CC