MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Trouble Loading Packages...

  • To: mathgroup at smc.vnet.net
  • Subject: [mg128298] Trouble Loading Packages...
  • From: Richard Palmer <rhpalmer at gmail.com>
  • Date: Fri, 5 Oct 2012 02:51:27 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net

...using the latest version of Mathematica on a 64 bit windows machine.

Here is the relevant code


In[1]:= Directory[]
Out[1]= "C:\\Users\\Richard\\Documents"

FileNames[{"*.m"}]
{"cellNeighbours.m", "myS.m"}

FileExistsQ["cellNeighbours.m"]
True

In[5]:= FindFile["cellNeighbours.m"]
Out[5]= "C:\\Users\\Richard\\Documents\\cellNeighbours.m"
In[6]:= << cellNeighbours`
In[7]:= ?cellNeighbours
During evaluation of In[7]:= Information::notfound: Symbol cellNeighbours
not found. >>

Needs["cellNeighbours`"]
Needs::nocont: Context cellNeighbours` was not created when Needs was
evaluated. >>


Same thing happens with the myS package.  Why can't if find and load the
package?

--------------------------------------------------------------------------

This is the cellNeighbours Package

BeginPackage["cellNeighbours`"];

cellNeighbours::usage =
  "cellNeighbours[r,c] sets up a function to quickly return a list of the n
\
nearest neighbours of a given cell in an r\[ScriptX]c matrix. By deafult, a
\
toroidal distance matrix is assumed.";
neighbourhoodList::usage =
  "neighbourhoodList[rI,cI,k] returns a list of the k nearest cells to \
\!\(\*SubscriptBox[\(cell\), \(r1, c1\)]\) in an r\[ScriptX]c matrix. By \
deafult, a toroidal distance matrix is assumed";

toroidalDistance::usage =
  "teroidalDistance[{r1,c1},{r2.c2}] returns a \!\(\*
  StyleBox[\"wrap\",\nFontSlant->\"Italic\"]\)\!\(\*
  StyleBox[\" \",\nFontSlant->\"Italic\"]\)\!\(\*
  StyleBox[\"around\",\nFontSlant->\"Italic\"]\)\!\(\*
  StyleBox[\" \",\nFontSlant->\"Italic\"]\)distance between two points";

distancefn::usage = "distance[a,b,len] computes a \!\(\*
  StyleBox[\"wrap\",\nFontSlant->\"Italic\"]\)\!\(\*
  StyleBox[\" \",\nFontSlant->\"Italic\"]\)\!\(\*
  StyleBox[\"around\",\nFontSlant->\"Italic\"]\) distance from a to b
between \
two cells on the same row or column.  \!\(\*
  StyleBox[\"len\",\nFontSlant->\"Italic\"]\) is the length of the \
row/column.";


Begin["Private`"];
rows = -1;
cols = -1;
cellNeighbourhood = -1;
cellIndices = -1;
cellNeighbours[r_Integer, c_Integer] := Module[{},
    rows = r;
    cols = c;
    cellIndices = Table[{i, j}, {i, 1, r}, {j, 1, c}];
    cellNeighbourhood = Nearest[Flatten[cellIndices, 1]
        DistanceFunction -> toroidalDistance]] /; r > 1 && c > 1;
distancefn =
  Compile[{{a, _Integer}, {b, _Integer}, {len, _Integer}},
   Module[{mn, mx, result},
    If[a == b, Return[0]];
    mx = Max[a, b];
    mn = Min[a, b];
    result = Min[mx - mn, mn + len - mx];
    If[result < 0, Print[{"distance error", a, b, len, result}]];
    Return[result]]];
toroidalDistance[p1_, p2_] :=
  Module[{r, c}, r = distancefn[First[p1], First[p2], rows];
   c = distancefn[Last[p1], Last[p2], cols]; r^2 + c^2];
neighbourhoodList[r_, c_, n_] :=
  cellNeighbourhood[{r, c}, n];
End[];
EndPackage[];

-- 
Richard Palmer

Home                            941 412 8828
Cell                               508 982-7266




  • Prev by Date: Re: Multi Thread in Mathematica (not multi core)
  • Next by Date: Locator + EventHandler
  • Previous by thread: How to plot function & integral with vector variable ?
  • Next by thread: Re: Trouble Loading Packages...