OKlibrary  0.2.1.6
Generators.mac
Go to the documentation of this file.
00001 /* Oliver Kullmann, 15.7.2008 (Swansea) */
00002 /* Copyright 2008 Oliver Kullmann
00003 This file is part of the OKlibrary. OKlibrary is free software; you can redistribute
00004 it and/or modify it under the terms of the GNU General Public License as published by
00005 the Free Software Foundation and included in this library; either version 3 of the
00006 License, or any later version. */
00007 
00022 oklib_include("OKlib/ComputerAlgebra/TestSystem/Lisp/Asserts.mac")$
00023 
00024 kill(f)$
00025 
00026 /* ****************
00027    * Random trees *
00028    ****************
00029 */
00030 
00031 okltest_randomtree_pr1_og(f) := block(
00032   assert(f(1) = [[1],[]]),
00033   assert(f(2) = [[1,2],[{1,2}]]),
00034   set_random_state(make_random_state(0)),
00035   assert(f(3) = [[1,2,3],[{1,2},{2,3}]]),
00036   assert(f(3) = [[1,2,3],[{1,3},{1,2}]]),
00037   assert(f(5) = [[1,2,3,4,5],[{1,5},{3,5},{2,5},{2,4}]]),
00038   true)$
00039 
00040 okltest_uniform_randomtree_og(f) := (
00041   assert(f(1) = [[1],[]]),
00042   assert(f(2) = [[1,2],[{1,2}]]),
00043   set_random_state(make_random_state(0)),
00044   assert(f(3) = [[1,2,3],[{1,3},{2,3}]]),
00045   assert(f(3) = [[1,2,3],[{1,2},{1,3}]]),
00046   assert(f(3) = [[1,2,3],[{1,3},{2,3}]]),
00047   assert(f(5) = [[1,2,3,4,5],[{1,2},{1,4},{3,5},{4,5}]]),
00048   true)$
00049