{VERSION 5 0 "SUN SPARC SOLARIS" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 " " 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 374 "with(StringTools): \nToNumList := proc(str::string)\n local slist;\n global Alphabet; \n slist := Explode(str);\n return(\n map(x->SearchText(x,Alphab et)-1, slist));\nend:\nNumListToStr:=proc(l::list)\n global Alphabet; \n return(\n Implode(map(x->Alphabet[x+1], l)));\nend:\n\nAlphabet: =Implode([\"\\n\",\"\\t\",op(select(IsPrintable,[seq(Char(i),i=1..255) ]))]);\np:=length(Alphabet):" }}{PARA 7 "" 1 "" {TEXT -1 58 "Warning, \+ the assigned name Group now has a global binding\n" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%)AlphabetGQ\\q|+|*~!\"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz|fr|gr|hr| ir6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 471 "TextToVects := pr oc(text::string, n::posint)\n local pad, s, nums, i, j;\n # first, pad out the text to be a multiple of n in length.\n pad := \" \";\n \+ s:=text;\n while (length(s) mod n <> 0 ) do\n s := cat(s, pad); \+ # I could use s||pad if I wanted to, but I don't cuz I hate it.\n od; \n\n nums := ToNumList(s);\n return( [ seq( [seq( nums[n*(j-1) + i], i=1..n) ], j=1..length(s)/n) ] );\nend:\n\nVectsToText := vecs -> Num ListToStr( map(op, map(convert, vecs, list))):\n " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "teststr:=\" The devil is on the loose and dancin with a monkey\":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "ToNumList(teststr);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#7T\"#a\"#u\"#r\"\"#\"#qF&\"#))\"#v\"#yF'F*\"#&)F' \"#\")\"#!)F'\"#')F%F&F'F+F-F-F,F&F'\"#nF.F(F'F(F0F.\"#pF*F.F'\"#*)F*F /F%F'F0F'\"#zF-F.\"#xF&\"#\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "TextToVects(teststr, 4);\nVectsToText(%);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#7/7&\"#a\"#u\"#r\"\"#7&\"#qF'\"#))\"#v7&\"#yF(F,\"#&)7& F(\"#\")\"#!)F(7&\"#')F&F'F(7&F.F1F1F/7&F'F(\"#nF27&F*F(F*F77&F2\"#pF, F27&F(\"#*)F,F47&F&F(F7F(7&\"#zF1F2\"#x7&F'\"#\"*F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QUThe~devil~is~on~the~loose~and~dancin~with~a~monk ey~~6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 301 "AffineMatEncode := proc(text, A,B)\n local n, vecs, vcrypt;\n global p, Alphabet;\n n := nops(convert(B,list));\n\n vecs := TextToVects(text, n);\n vc rypt := [ seq( map( modp, \n evalm( A &* vecs[i ] + B),\n p), i=1..nops(vecs))];\n VectsToTex t(vcrypt);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "AffineM atEncode(teststr, [[0,1,0],[1,0,0],[0,0,1]], [0,0,96]);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#QThTdd~divki~ro~mt~g~ekoor~e`dn|*admicmw~hht|*~a lnojye|*6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK " 7 0 0" 0 }{VIEWOPTS 1 1 0 3 2 1804 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }