|
[Date Index]
[Thread Index]
[Author Index]
[Q] Translate Mathematica -> Java
- To: mathgroup at smc.vnet.net
- Subject: [mg45549] [Q] Translate Mathematica -> Java
- From: André Betz <mail at andrebetz.de>
- Date: Tue, 13 Jan 2004 04:04:02 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
I'm looking for someone who could help me perhaps to translate a peace
of Mathematica Code into Jave or help me to understand whats happening
there.
Thank you
André Betz
http://www.andrebetz.de
----------------------------------------Code Begin----------------------
\!\(CTToR110[rules_ /; Select[rules, Mod[Length[#], 6] ? 0 &] == {},
init_] \
:= Module[{g1, g2, g3, nr = 0, x1, y1, sp}, g1 = Flatten[Map[
If[# === {}, {{{2}}}, {{{1, 3, 5 -
First[#]}}, Table[{4, 5 - #[[n]]}, {n, 2, Length[#]}]}] &,
rules] /. \[InvisibleSpace]a_Integer :> Map[{
d[#[[1]], #[[2]]], s[#[[3]]]} &, Partition[c[a],
3]], 4]; g2 = \(g1 = MapThread[If[#1 === #2 === {d[
22, 11], s3}, {d[20, 8], s3}, #1] &, {g1,
RotateRight[g1, 6]}]\); While[Mod[Apply[Plus,
Map[#[[1, \
2]] &, g2]], 30] ? 0, \(nr++\); g2 = Join[g2,
g1]]; y1 = g2[[1, 1, 2]] - 11;
If[y1 < 0, y1 += 30]; Cases[\(Last[g2]\)[[2]], s[d[x_,
y1], _, _,
a_] :> \((x1 = x +
Length[a])\)]; g3 = Fold[sadd, {d[x1, y1], {}}, g2];
sp = Ceiling[\(5\ Length[g3[[2]]]\)/\((28\ nr)\) + 2]; {
Join[\(Fold[sadd, {d[17, 1], {}},
Flatten[Table[{{d[sp\ 28 + 6, 1],
s[5]}, {d[398, 1], s[5]}, {d[342, 1], s[5]}, {
d[370, 1], s[5]}}, {3}],
1]]\)[[2]], bg[4, 11]], Flatten[Join[Table[bgi, {sp\ 2 + 1 + 24\
Length[init]}], init /. \[InvisibleSpace]{0 -> init0,
1 -> init1}, bg[1, 9], bg[6,
60 - g2[[1, 1, 1]] + g3[[1, 1]] + If[g2[[1, 1, 2]] <
g3[[1, 2]], 8, 0]]]], g3[[2]]}]\n
\(s[1] = struct[{3, 0, 1, 10, 4, 8}, 2];\)\n
\(s[2] = struct[{3, 0, 1, 1, 619, 15}, 2];\)\n
\(s[3] = struct[{3, 0, 1, 10, 4956, 18}, 2];\)\n
\(s[4] = struct[{0, 0, 9, 10, 4, 8}];\)\n
\(s[5] = struct[{5, 0, 9, 14, 1, 1}];\)\n
\({c[1], c[2]} = Map[Join[{22,
11, 3, 39, 3,
1}, #] &, {{63, 12, 2, 48, 5, 4, 29, 26, 4, 43, 26, 4, 23, 3,
4, 47, 4, 4}, {87, 6, 2, 32, 2, 4, 13, 23, 4, 27, 16, 4}}];\)\n
\({c[3], c[4], c[5]} = Map[Join[#, {4, 17, 22,
4, 39, 27, 4, 47,
4, 4}] &, {{17, 22, 4, 23, 24, 4, 31, 29}, {17, 22, 4, 47, 18,
4, 15,
19}, {41, 16, 4, 47, 18, 4, 15, 19}}];\)\n
\({init0, init1} = Map[IntegerDigits[216\ \((# + 432\
10\^\(\(\)\(49\)\))\), 2] &, \
{246005560154658471735510051750569922628065067661, \
1043746165489466852897089830441756550889834709645}];\)\n
\(bgi = IntegerDigits[9976, 2];\)\n
bg[s_, n_] := Array[bgi[[1 + Mod[# - 1, 14]]] &, n, s]\n
ev[s[d[x_, y_], pl_,
pr_, b_]] := Module[{r, pl1,
pr1}, r = Sign[BitAnd[2^ListConvolve[{1, 2, 4}, Join[bg[pl
- 2, \
2], b, bg[pr, 2]]], 110]];
pl1 = \((Position[r - bg[pl + 3, Length[
r]], 1 | \(-1\)] /. \[InvisibleSpace]{} ->
{{Length[r]}})\
\)[[1, 1]]; pr1 = Max[pl1, \((Position[r - bg[pr + 5 - Length[r],
Length[r]],
1 | \(-1\)] /. \[InvisibleSpace]{} -> {{1}})\)[[\(-1\),
1]]]; s[d[x + pl1 - 2, y + 1], pl1 + Mod[pl + 2, 14], 1
+ Mod[
pr + 4, 14] + pr1 - Length[r], Take[r, {pl1, pr1}]]]\n
struct[{x_, y_, pl_, pr_, b_, bl_}, p_Integer : 1] := Module[{gr =
s[d[x,
y], pl, pr, IntegerDigits[b, 2, bl]], p2 = p + 1}, Drop[
NestWhile[Append[#, ev[Last[#]]] &, {
gr}, \(If[Rest[Last[#]] ===
Rest[gr], \(p2--\)]; p2 > 0\) &], \(-1\)]]\n
sadd[{d[x_,
y_], b_}, {d[dx_, dy_], st_}] := Module[{x1 = dx - x, y1 = dy
- y,
b2, x2, y2}, While[y1 > 0, {x1, y1} += If[Length[st] == 30, {
8, \(-30\)}, {\(-2\), \(-3\)}]]; b2 =
First[Cases[st, s[d[x3_, \(-y1\)], pl_, _, sb_] :> Join[bg[pl - x1 -
x3,
x1 + x3], x2 = x3 +
Length[sb]; y2 = \(-y1\); sb]]]; {d[x2, y2], Join[b, b2]}]\)
Map[Length, CTToR110[{{1, 1, 0, 1, 0, 1}, {1, 1, 0, 0, 0, 0}}, {0, 1}]]
----------------------------------------Code End----------------------
Prev by Date:
Re: MultiLine Formula (formatting w/brace)
Next by Date:
Re: Re: Compile
Previous by thread:
Re: what is the general theory of extracting solutions from DSolve (and similar) functions
Next by thread:
Univers font
|