OS
The compiler requires the one of the following platforms: Windows 2000, Windows XP, Vista or Windows 7.
The compiler can run with certain limitation under Linux using Wine.
Display
It is recommended to run the IDE on systems supporting more than 256 colors,
using resolution 1024x768 or better.
CPU
As there is a high probability you will end up running programs that are very CPU intensive, installing
a GMP library that matches your CPU is essential. The GMP libraries should be upwards compatible
(i.e. you can use GMP compiled for Pentium 2 on Pentium 4 etc.) but the performance may not be optimal.
The Setup programs detects several popular CPUs manufactured by Intel and AMD, however there are several other
CPU vendors which the Setup does not recognize and will most likely mislabel. In this case it is the
responsibility of the end user to manually select the best CPU match. Beware that selecting an incorrect
library may generate invalid instructions. If everything fails, as the last resort, try installing
the "generic" GMP library. If you can build and successfully run the sample
Test Samples.f1 (as described in Getting Started) you have installed the correct GMP library.
IDE
Some issues with locking/unlocking files caused by deadlock on multi-core systems were fixed.
Improved tooltips dealing with the runtime libray.
Online help for runtime library API directly from the "Modules" tab.
Ability to sort project symbols either alphabetically or by symbol types.
Runtime Library
Displaying of results performance improvemets, notably when displaying a large number of results
while the results window is minimized. This is often the case when logging a large number of results
in a file.
Two new user APIs RtlIsPowerOf2 and RtlSquareRoot:
Test if number is a perfect square.
Syntax:
proc RtlIsPowerOf2(number:<L)
The routine succseeds if the number is a perfect square, fails otherwise.
For example, the query
all x:>[0..100] & RtlIsPowerOf2(x)
will generate the following solutions:
x = 0 ___ Solution: 1 __________________________________ x = 1 ___ Solution: 2 __________________________________ x = 4 ___ Solution: 3 __________________________________ x = 9 ___ Solution: 4 __________________________________ x = 16 ___ Solution: 5 __________________________________ x = 25 ___ Solution: 6 __________________________________ x = 36 ___ Solution: 7 __________________________________ x = 49 ___ Solution: 8 __________________________________ x = 64 ___ Solution: 9 __________________________________ x = 81 ___ Solution: 10 __________________________________ x = 100 ___ Solution: 11 __________________________________ Number of solutions: 11 Number of backtracks: 90 Elapsed time: 00:00:00RtlSquareRoot
Calculate square root of an integer.
Syntax:
proc RtlSquareRoot(number:<L, root:>L)
The routine will fail if number is not a perfect square.
For example, the query
all x:>[0..50] & RtlSquareRoot(x,y)
will generate the following solutions:
x = 0 y = 0 ___ Solution: 1 __________________________________ x = 1 y = 1 ___ Solution: 2 __________________________________ x = 4 y = 2 ___ Solution: 3 __________________________________ x = 9 y = 3 ___ Solution: 4 __________________________________ x = 16 y = 4 ___ Solution: 5 __________________________________ x = 25 y = 5 ___ Solution: 6 __________________________________ x = 36 y = 6 ___ Solution: 7 __________________________________ x = 49 y = 7 ___ Solution: 8 __________________________________ Number of solutions: 8 Number of backtracks: 43 Elapsed time: 00:00:00
In the "About" box there is a bug
report button. This is the preferred method of bug reporting, as it reports all
installed Formula One components, OS and CPU type. To report bugs manually, use the e-mail address
bugs@f1compiler.com .
If you have any other problems, feedback or a nifty program you would like to submit to
our sample code web page, submit them at support@f1compiler.com.