NAME places - return number of "decimal" places in a fractional part SYNOPSIS places(x [,b]) TYPES x real b integer >= 2, defaults to 10 return integer DESCRIPTION Returns the least non-negative integer n for which b^n * x is an integer, or -1 if there is no such integer. places(x,b) = 0 if and only if x is an integer. If omitted, b is assumed to be 10. If given, b must be an integer > 1. places(x,b) = n > 0 if and only if the fractional part of abs(x) has a finite base-b "decimal" representation with n digits of which the last digit is nonzero. This occurs if and only if every prime factor of den(x) is a factor of b. EXAMPLE ; print places(3), places(0.0123), places(3.70), places(1e-10), places(3/7) 0 4 1 10 -1 ; print places(0.0123, 2), places(.625, 2), places(.625, 8) -1 3 1 LIMITS b > 1 LINK LIBRARY long qplaces(NUMBER *q, ZVALUE base) SEE ALSO digit, digits ## Copyright (C) 1999-2003 Landon Curt Noll ## ## Calc is open software; you can redistribute it and/or modify it under ## the terms of the version 2.1 of the GNU Lesser General Public License ## as published by the Free Software Foundation. ## ## Calc 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 the GNU Lesser General ## Public License for more details. ## ## A copy of version 2.1 of the GNU Lesser General Public License is ## distributed with calc under the filename COPYING-LGPL. You should have ## received a copy with calc; if not, write to Free Software Foundation, Inc. ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ## ## Under source code control: 1995/10/03 10:40:02 ## File existed as early as: 1995 ## ## chongo /\oo/\ http://www.isthe.com/chongo/ ## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/