home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / b / baswiz19.zip / BW$BAS.ZIP / FRACREDU.BAS < prev    next >
BASIC Source File  |  1993-01-29  |  950b  |  27 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |        BASWIZ  Copyright (c) 1990-1993  Thomas G. Hanlin III         |
  4. '   |                                                                      |
  5. '   |                      The BASIC Wizard's Library                      |
  6. '   |                                                                      |
  7. '   +----------------------------------------------------------------------+
  8.  
  9.    DECLARE FUNCTION GCDL& (Nr1 AS LONG, Nr2 AS LONG)
  10.  
  11.    DEFINT A-Z
  12.  
  13. FUNCTION FracReduce$ (Nr AS STRING)
  14.    L& = CVL(LEFT$(Nr, 4))
  15.    R& = CVL(RIGHT$(Nr, 4))
  16.    s = SGN(L&): IF s = 0 THEN s = 1
  17.    L& = ABS(L&)
  18.    IF L& = 0& THEN
  19.       R& = 1&
  20.    ELSE
  21.       tmp& = GCDL&(L&, R&)
  22.       L& = L& \ tmp&
  23.       R& = R& \ tmp&
  24.    END IF
  25.    FracReduce$ = MKL$(s * L&) + MKL$(R&)
  26. END FUNCTION
  27.