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

From section 1.2 of Aldor Users Guide

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

aldor
# include "axiom.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
   Compiling FriCAS source code from file 
      /var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/8473420842059482192-25px001.as
      using AXIOM-XL compiler and options 
-O -Fasy -Fao -Flsp -laxiom -Mno-ALDOR_W_WillObsolete -DAxiom -Y $AXIOM/algebra -I $AXIOM/algebra
      Use the system command )set compiler args to change these 
      options.
   The )library system command was not called after compilation.

fricas
-- Old GCL version use:
--)lisp (si::allocate-contiguous-pages 1500 t)
--)lisp (si::allocate 'sfun 50 t)
for i in 1..4 repeat n := 10^i outputList ["There are ", sieve n, " primes <= ", n]
There are no library operations named sieve Use HyperDoc Browse or issue )what op sieve to learn if there is any operation containing " sieve " in its name. Cannot find a definition or applicable library operation named sieve with argument type(s) PositiveInteger
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. FriCAS will attempt to step through and interpret the code. There are no library operations named sieve Use HyperDoc Browse or issue )what op sieve to learn if there is any operation containing " sieve " in its name.
Cannot find a definition or applicable library operation named sieve with argument type(s) PositiveInteger
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

To run this program on your own computer you need linux and Axiom+Aldor from AxiomBinaries.

  1. Save the program source as a file called 'sieve.as':
      $ vi sieve.as
    
  2. Start Axiom:
      $ AXIOMsys
    
  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] _
        )
    




  Subject:   Be Bold !!
  ( 13 subscribers )  
Please rate this page: