1e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#ifndef _unary_h 2e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define _unary_h 3e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <cmath> 4e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <cfloat> 5e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <functional> //*TY 12/26/1998 - added to get unary_function 6e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 7e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined (STLPORT) || defined (_STLP_USE_NAMESPACES) 8e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottusing std::unary_function; 9e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 10e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 11e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottstruct odd : public unary_function<int, bool> { 12e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott bool operator()(int n_) const { return(n_ % 2) == 1; } 13e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott}; 14e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 15e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottstruct positive : public unary_function<int, bool> { 16e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott bool operator()(int n_) const { return n_ >= 0; } 17e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott}; 18e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 19e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottstruct square_root : public unary_function<double, double> { 20e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott double operator()(double x_) const 21e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott { return ::sqrt(x_); } 22e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott}; 23e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif // _unary_h 24