3 scalar.cc -- implement Scalar
5 source file of the Flower Library
7 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
13 #include "rational.hh"
15 Scalar::Scalar (Rational r)
20 Scalar::operator Rational ()
26 Scalar::to_rat () const
28 int p = index_i ('/');
32 String s2 = right_str (length_i ()-p-1);
33 String s1 = left_str (p);
35 return Rational (s1.value_i (), s2.value_i ());
39 Scalar::isdir_b () const
41 int conv = length_i ();
45 conv = sscanf (strh_.ch_C (), "%ld", &l);
46 conv = conv && (l >= -1 && l <= 1);
52 Scalar::isnum_b () const
58 conv = sscanf (strh_.ch_C (), "%lf", &l);
60 return length_i () && conv;
63 Scalar::operator Real()
75 Scalar::operator int ()
90 Scalar::operator bool () const
96 Scalar::to_bool () const
103 if (u.upper_str () == "FALSE")