00001 /*============================================================================= 00002 * Product : OpenPL 00003 * File : plRealType.h (before plReal.cpp) 00004 * Author : Juan-Manuel Ahuactzin 00005 * Creation : Wed Mar 21 12:28:12 2001 00006 * 00007 *============================================================================= 00008 * (c) Copyright 2000, Centre National de la Recherche Scientifique, 00009 * all rights reserved 00010 *============================================================================= 00011 * 00012 *------------------------- Description --------------------------------------- 00013 * 00014 * 00015 *----------------------------------------------------------------------------- 00016 */ 00017 00018 #ifndef _plRealType_h 00019 #define _plRealType_h 00020 00021 #include <plData.h> 00022 #include <plMath.h> 00023 #include <plType.h> 00024 00025 /***************************************************************************** 00026 * External Classes 00027 *****************************************************************************/ 00028 class kplReal; 00029 00030 00031 /***************************************************************************** 00032 * Classes Definitions 00033 *****************************************************************************/ 00034 00035 00036 //============================================================================ 00039 class plRealType : public plType 00040 { 00041 00042 protected: 00044 void Output(ostream &out) const; 00045 00046 public: 00047 00049 plData first_value() const; 00050 00053 bool next_value(plData &v); 00056 bool next_value(float &v); 00059 bool next_value(double &v); 00062 bool next_value(long double &v); 00065 bool next_value(int &v); 00066 00072 plRealType(plFloat min, plFloat max, unsigned int n_intervals); 00073 00078 plRealType(plFloat min, plFloat max); 00079 00081 virtual ~plRealType(); 00082 00083 /* friend classes, methods and functions */ 00084 friend class plUniform; 00085 00086 }; 00087 00088 00089 #endif