login  home  contents  what's new  discussion  bug reports help  links  subscribe  changes  refresh  edit

# Edit detail for SandBox Aldor Sieve revision 9 of 9

 1 2 3 4 5 6 7 8 9 Editor: test1 Time: 2023/09/17 15:40:43 GMT+0 Note:

```changed:
-# include "axiom.as"
# include "fricas.as"

removed:
--- Old GCL version use:
---)lisp (si::allocate-contiguous-pages 1500 t)
---)lisp (si::allocate 'sfun 50 t)
-

changed:
-To run this program on your own computer you need linux and
-**Axiom+Aldor** from AxiomBinaries.
To run this program on your own computer you need Linux and
**FriCAS+Aldor**.  You need to build them from sources, follow
the instructions in INSTALL.

changed:
-  \$ vi sieve.as
-
-2 Start Axiom::
-
-  \$ AXIOMsys
\$ vim sieve.as

2 Start FriCAS::

\$ fricas
```

From section 1.2 of Aldor Users Guide

sieve.as
A prime number sieve to count primes <= n.

fricas
```(1) -> <aldor>
# include "fricas.as"
import from Boolean, Integer, NonNegativeInteger;
sieve(n: Integer): Integer  == {
isprime: OneDimensionalArray Boolean := new(n::NonNegativeInteger, true);
np:Integer := 0;
for p in 2..n | isprime p repeat {
np := np + 1;
for i in (p+p)..n by p repeat isprime i := false;
}
np
}</aldor>```
fricas
```Compiling FriCAS source code from file
/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/860059225630362337-25px001.as
using Aldor compiler and options
-O -Fasy -Fao -Flsp -lfricas -Mno-ALDOR_W_WillObsolete -DFriCAS -Y \$FRICAS/algebra -I \$FRICAS/algebra
Use the system command )set compiler args to change these
options.```
fricas
```Compiling Lisp source code from file
./860059225630362337-25px001.lsp
Issuing )library command for 860059225630362337-25px001```
fricas
`Reading /var/aw/var/LatexWiki/860059225630362337-25px001.asy`

fricas
```for i in 1..4 repeat
n := 10^i
outputList ["There are ", sieve n, " primes <= ", n]
There are 4 primes <= 10
There are 25 primes <= 100
There are 168 primes <= 1000
There are 1229 primes <= 10000```
Type: Void

To run this program on your own computer you need Linux and FriCAS+Aldor. You need to build them from sources, follow the instructions in INSTALL.

1. Save the program source as a file called 'sieve.as':
```  \$ vim sieve.as
```
2. Start FriCAS:
```  \$ fricas
```
3. Compile the program:
```  (1) -> )compile sieve.as
```
4. Run it:
```    for i in 1..6 repeat ( _
n := 10^i; _
outputList ["There are ", sieve n, " primes <= ", n] _
)
```