------------------------->  GNU Sather - sourcefile  <-------------------------
-- Copyright (C) 1994 by International Computer Science Institute            --
-- This file is part of the GNU Sather library. It is free software; you may --
-- redistribute  and/or modify it under the terms of the GNU Library General --
-- Public  License (LGPL)  as published  by the  Free  Software  Foundation; --
-- either version 2 of the license, or (at your option) any later version.   --
-- This  library  is distributed  in the  hope that it will  be  useful, but --
-- WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. See Doc/LGPL for more details.       --
-- The license text is also available from:  Free Software Foundation, Inc., --
-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA                     --
-------------->  Please email comments to <bug-sather@gnu.org>  <--------------

-- Non existant FLT classes

-------------------------------------------------------------------
class FLT_UNDEF is
   -- Included to undefine all operations on these classes
   
   create(a:INT):SAME is raise "FLT_UNDEF::create(a:INT):SAME undefined" end;
   create(a:INTI):SAME is raise "FLT_UNDEF::create(a:INTI):SAME undefined" end;
   create(a:FLT):SAME is raise "FLT_UNDEF::create(a:FLT):SAME undefined" end;
   create(a:FLTD):SAME is raise "FLT_UNDEF::create(a:FLTD):SAME undefined" end;
   create(a:FLTX):SAME is raise "FLT_UNDEF::create(a:FLTX):SAME undefined" end;
   create(a:FLTDX):SAME is raise "FLT_UNDEF::create(a:FLTDX):SAME undefined" end;
   create(a:FLTI):SAME is raise "FLT_UNDEF::create(a:FLTI):SAME undefined" end;
   
   int:INT is raise "FLT_UNDEF::int:INT undefined" end;
   inti:INTI is raise "FLT_UNDEF::inti:INTI undefined" end;
   
   flt:FLT is raise "FLT_UNDEF::flt:FLT undefined" end;
   fltd:FLTD is raise "FLT_UNDEF::fltd:FLTD undefined" end;
   fltx:FLTX is raise "FLT_UNDEF::fltx:FLTX undefined" end;
   fltdx:FLTDX is raise "FLT_UNDEF::fltdx:FLTDX undefined" end;
   flti:FLTI is raise "FLT_UNDEF::flti:FLTI undefined" end;
   
   str:STR is raise "FLT_UNDEF::str:STR undefined" end;
   
   plus(a:SAME):SAME is raise "FLT_UNDEF::plus(a:SAME):SAME undefined" end;
   minus(a:SAME):SAME is raise "FLT_UNDEF::minus(a:SAME):SAME undefined" end;
   negate:SAME is raise "FLT_UNDEF::negate:SAME undefined" end;
   times(a:SAME):SAME is raise "FLT_UNDEF::times(a:SAME):SAME undefined" end;
   div(a:SAME):SAME is raise "FLT_UNDEF::div(a:SAME):SAME undefined" end;
   
   is_eq(a:SAME):BOOL is raise "FLT_UNDEF::is_eq(a:SAME):BOOL undefined" end;
   is_lt(a:SAME):BOOL is raise "FLT_UNDEF::is_lt(a:SAME):BOOL undefined" end;
   
    nil:SAME is raise "FLT_UNDEF::nil:SAME undefined" end;
    is_nil:BOOL is raise "FLT_UNDEF::is_nil:BOOL undefined" end;
   
   max(a:SAME):SAME is raise "FLT_UNDEF::max(a:SAME):SAME undefined" end;
   min(a:SAME):SAME is raise "FLT_UNDEF::min(a:SAME):SAME undefined" end;
   at_least(a:SAME):SAME is raise "FLT_UNDEF::at_least(a:SAME):SAME undefined" end;
   at_most(a:SAME):SAME is raise "FLT_UNDEF::at_most(a:SAME):SAME undefined" end;
   is_between(a,c:SAME):BOOL is raise "FLT_UNDEF::is_between(a,c:SAME):BOOL undefined" end;
   
   is_finite:BOOL is raise "FLT_UNDEF::is_finite:BOOL undefined" end;
   is_inf:BOOL is raise "FLT_UNDEF::is_inf:BOOL undefined" end;
   is_nan:BOOL is raise "FLT_UNDEF::is_nan:BOOL undefined" end;
   is_normal:BOOL is raise "FLT_UNDEF::is_normal:BOOL undefined" end;
   is_subnormal:BOOL is raise "FLT_UNDEF::is_subnormal:BOOL undefined" end;
   is_zero:BOOL is raise "FLT_UNDEF::is_zero:BOOL undefined" end;
   signbit_set:BOOL is raise "FLT_UNDEF::signbit_set:BOOL undefined" end;
   unbiased_exponent:INT is raise "FLT_UNDEF::unbiased_exponent:INT undefined" end;
   copysign(a:SAME):SAME is raise "FLT_UNDEF::copysign(a:SAME):SAME undefined" end;
   nextup:SAME is raise "FLT_UNDEF::nextup:SAME undefined" end;
   nextdown:SAME is raise "FLT_UNDEF::nextdown:SAME undefined" end;
   scale_by(a:INT):SAME is raise "FLT_UNDEF::scale_by(a:INT):SAME undefined" end;
   
   remainder(a:SAME):SAME is raise "FLT_UNDEF::remainder(a:SAME):SAME undefined" end;
   mod(a:SAME):SAME is raise "FLT_UNDEF::mod(a:SAME):SAME undefined" end;
   
   truncate:SAME is raise "FLT_UNDEF::truncate:SAME undefined" end;
   floor:SAME is raise "FLT_UNDEF::floor:SAME undefined" end;
   ceiling:SAME is raise "FLT_UNDEF::ceiling:SAME undefined" end;
   round:SAME is raise "FLT_UNDEF::round:SAME undefined" end;
   
   log_gamma:SAME is raise "FLT_UNDEF::log_gamma:SAME undefined" end;
   gamma:SAME is raise "FLT_UNDEF::gamma:SAME undefined" end;
   
   hypot(a:SAME):SAME is raise "FLT_UNDEF::hypot(a:SAME):SAME undefined" end;
   erf:SAME is raise "FLT_UNDEF::erf:SAME undefined" end;
   one_minus_erf:SAME is raise "FLT_UNDEF::one_minus_erf:SAME undefined" end;
   
   bessel_j0:SAME is raise "FLT_UNDEF::bessel_j0:SAME undefined" end;
   bessel_j1:SAME is raise "FLT_UNDEF::bessel_j1:SAME undefined" end;
   bessel_jn(a:INT):SAME is raise "FLT_UNDEF::bessel_jn(a:INT):SAME undefined" end;
   bessel_y0:SAME is raise "FLT_UNDEF::bessel_y0:SAME undefined" end;
   bessel_y1:SAME is raise "FLT_UNDEF::bessel_y1:SAME undefined" end;
   bessel_yn(a:INT):SAME is raise "FLT_UNDEF::bessel_yn(a:INT):SAME undefined" end;
   
   atan2(a:SAME):SAME is raise "FLT_UNDEF::atan2(a:SAME):SAME undefined" end;
   sinpi:SAME is raise "FLT_UNDEF::sinpi:SAME undefined" end;
   cospi:SAME is raise "FLT_UNDEF::cospi:SAME undefined" end;
   tanpi:SAME is raise "FLT_UNDEF::tanpi:SAME undefined" end;
   asinpi:SAME is raise "FLT_UNDEF::asinpi:SAME undefined" end;
   acospi:SAME is raise "FLT_UNDEF::acospi:SAME undefined" end;
   atanpi:SAME is raise "FLT_UNDEF::atanpi:SAME undefined" end;
   atan2pi(a:SAME):SAME is raise "FLT_UNDEF::atan2pi(a:SAME):SAME undefined" end;
   
   exp_minus_one:SAME is raise "FLT_UNDEF::exp_minus_one:SAME undefined" end;
   exp2:SAME is raise "FLT_UNDEF::exp2:SAME undefined" end;
   exp10:SAME is raise "FLT_UNDEF::exp10:SAME undefined" end;
   plus_one_log:SAME is raise "FLT_UNDEF::plus_one_log:SAME undefined" end;
   log2:SAME is raise "FLT_UNDEF::log2:SAME undefined" end;
   log10:SAME is raise "FLT_UNDEF::log10:SAME undefined" end;
   
   sqrt:SAME is raise "FLT_UNDEF::sqrt:SAME undefined" end;
   cube_root:SAME is raise "FLT_UNDEF::cube_root:SAME undefined" end;
   
   sin:SAME is raise "FLT_UNDEF::sin:SAME undefined" end;
   cos:SAME is raise "FLT_UNDEF::cos:SAME undefined" end;
   tan:SAME is raise "FLT_UNDEF::tan:SAME undefined" end;
   asin:SAME is raise "FLT_UNDEF::asin:SAME undefined" end;
   acos:SAME is raise "FLT_UNDEF::acos:SAME undefined" end;
   atan:SAME is raise "FLT_UNDEF::atan:SAME undefined" end;
   
   exp:SAME is raise "FLT_UNDEF::exp:SAME undefined" end;
   log:SAME is raise "FLT_UNDEF::log:SAME undefined" end;
   sinh:SAME is raise "FLT_UNDEF::sinh:SAME undefined" end;
   cosh:SAME is raise "FLT_UNDEF::cosh:SAME undefined" end;
   tanh:SAME is raise "FLT_UNDEF::tanh:SAME undefined" end;
   asinh:SAME is raise "FLT_UNDEF::asinh:SAME undefined" end;
   acosh:SAME is raise "FLT_UNDEF::acosh:SAME undefined" end;
   atanh:SAME is raise "FLT_UNDEF::atanh:SAME undefined" end;
   
   abs:SAME is raise "FLT_UNDEF::abs:SAME undefined" end;
   square:SAME is raise "FLT_UNDEF::square:SAME undefined" end;
   cube:SAME is raise "FLT_UNDEF::cube:SAME undefined" end;
   sign:SAME is raise "FLT_UNDEF::sign:SAME undefined" end;
   pow(a:SAME):SAME is raise "FLT_UNDEF::pow(a:SAME):SAME undefined" end;
   
   is_within(a,c:SAME):BOOL is raise "FLT_UNDEF::is_within(a,c:SAME):BOOL undefined" end;
   
end; -- class FLT_UNDEF
   
-------------------------------------------------------------------
immutable class FLTX 
   -- IEEE extended precision floating point.  Obsolete, left over
   -- from 1.0.
is
   include FLT_UNDEF;
   
end; -- class FLTX
   
-------------------------------------------------------------------
immutable class FLTDX 
   -- IEEE double extended precision floating point.  Obsolete, left over
   -- from 1.0.
is
   include FLT_UNDEF;
   
end; -- class FLTDX
   
-------------------------------------------------------------------
class FLTI 
   -- Arbitrary precision floating point.  Not yet implemented.
is
   include FLT_UNDEF;
   
end; -- class FLTI
   
-------------------------------------------------------------------
