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] _
        )