File: runit4A.R

package info (click to toggle)
fbasics 240.10067-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 2,676 kB
  • ctags: 760
  • sloc: fortran: 5,589; sh: 22; makefile: 1
file content (96 lines) | stat: -rw-r--r-- 2,910 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96

# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU Library General 
# Public License along with this library; if not, write to the 
# Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
# MA  02111-1307  USA

# Copyrights (C)
# for this R-port: 
#   1999 - 2006, Diethelm Wuertz, GPL
#   Diethelm Wuertz <wuertz@itp.phys.ethz.ch>
#   info@rmetrics.org
#   www.rmetrics.org
# for the code accessed (or partly included) from other R-ports:
#   see R's copyright and license files
# for the code accessed (or partly included) from contributed R-ports
# and other sources
#   see Rmetrics's copyright file 


################################################################################
# FUNCTION:                 PORTABLE INNOVATIONS:
#  set.lcgseed               Set initial random seed
#  get.lcgseed               Get the current valus of the random seed
#  runif.lcg                 Uniform linear congruational generator
#  rnorm.lcg                 Normal linear congruational generator
#  rt.lcg                    Student-t linear congruational generator
################################################################################


test.helpFile = 
function()
{
    # Help File:
    helpFile = function() { 
        example(PortableRandomInnovations); return() }
    checkIdentical(
        target = class(try(helpFile())),
        current = "NULL")

    # Return Value:
    return()    
}


# ------------------------------------------------------------------------------
# PORTABLE INNOVATIONS:

   
test.portableInnovations = 
function()
{
    # set.lcgseed -
    seed = set.lcgseed(seed = 65890)
    
    # runif.lcg - rnorm.lcg - rt.lcg -
    DF = cbind(runif.lcg(10), rnorm.lcg(10), rt.lcg(10, df = 4))
    print(DF)
    checkEqualsNumeric(target = round(sum(DF), 4), current = 3.3164 )
    
    # get.lcgseed -
    seed = get.lcgseed()
    print(seed)
    checkIdentical(target = seed, current = 1743389204 ) 
    
    # Note, to overwrite rnorm, use
    # rnorm = rnorm.lcg
    # Going back to rnorm
    # rm(rnorm) 
    
    # Return Value:
    return()  
}


# ------------------------------------------------------------------------------


if (FALSE) {
    require(RUnit)
    testResult <- runTestFile("C:/Rmetrics/SVN/trunk/fBasics/test/runit4A.R")
    printTextProtocol(testResult)
}


################################################################################