How to load user defined packages?
- To: mathgroup at smc.vnet.net
- Subject: [mg14357] How to load user defined packages?
- From: sean_ross_at_pl-04m3 at smtpgw1.plk.af.mil
- Date: Thu, 15 Oct 1998 00:28:59 -0400
- Sender: owner-wri-mathgroup at wolfram.com
I am going through David Wagners Power Programming book and have
finally got to chapter 8, about packages and I am totally stuck.
He
gives the code for a simple package, tells us to type it in, save
it
as a package and then verify that we can load it. I typed the code
in
and evaluated it to make sure it ran from a notebook. I then saved
the code as a package and placed it in the D:\Program
Files\Mathematica301\AddOns\ExtraPackages directory because that
directory was already on the $Path list. When I attempt to load
the
package using:
Needs["LCGRandom`"]
--Or--
Needs["LCGRandom`",
"D:\Program
Files\Mathematica301\AddOns\ExtraPackages\LCGRandom.m"]
--Or--
Needs["Program
Files`Mathematica301`AddOns`ExtraPackages`LCGRandom`"]
I get the same error message, that the context LCGRandom` was not
created when needs evaluates. The package definitions are not
loaded.
I have tried exiting and re-starting Mathematica, rebooting the
machine, loading the package file into different directories etc.
All
with the same result.
Can anyone help me?
Sean Ross
Please respond to rosss at plk.af.mil or seanross at worldnet.att.net as
I
no longer subscribe to mathgroup.
The code for the package follows:
BeginPackage["LCGRandom`"]
LCGSetSeed::usage=
"LCGSetSeed[x] sets the LCG\ randomnumber generator's seed to the
integer \
x.";
LCGRandom::usage="LCGRandom[] generates a\
uniformly distributed random number in the range\
{0.,1.} using a linear congruential generator.";
Begin["`Private`"]
modulus=2^31-1;
seed=1;
LCGSetSeed[x_Integer/;1<=seed<modulus]:=seed=x;
LCGRandom[]:=(
seed=Mod[7^5 * seed,modulus];
N[seed/modulus])
End[]
Protect[LCGSetSeed,LCGRandom]
EndPackage[];