Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/charisee/src/compiler/einTest/testOrder.sml
ViewVC logotype

Annotation of /branches/charisee/src/compiler/einTest/testOrder.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2463 - (view) (download)

1 : cchiw 2399 structure tOrder = struct
2 :    
3 :     local
4 :     structure E = Ein
5 :     structure EinOp = Operators
6 :     structure P= Printer
7 :     structure O= OrderEin
8 : cchiw 2463 structure N = NormalizeEin
9 : cchiw 2399 in
10 :    
11 :    
12 : cchiw 2448 val line="-----------------------------------------------"
13 : cchiw 2463 fun testO(e)= (print line; P.printerE e ; print(" => ");let val ordered=(O.orderfn e)
14 :     in (P.printerE(ordered); print"\n => \n"; (let val n=N.normalize(ordered) in P.printerE(n) end)) end)
15 : cchiw 2399
16 : cchiw 2408
17 : cchiw 2448 fun createO(b)= testO(Ein.EIN{params=[], index=[], body=b})
18 : cchiw 2399
19 :    
20 :    
21 : cchiw 2448 val o1=E.Prod[E.Sum([E.V 1], E.Prod[E.Tensor(0,[E.V 1]), E.Tensor(1, [E.V 1])]),
22 :     E.Sum([E.V 2, E.V 3], E.Prod[E.Epsilon(0,2,3), E.Tensor(2,[E.V 2]), E.Tensor(3, [E.V 3])])]
23 : cchiw 2399
24 : cchiw 2448 val o2 =E.Apply(E.Partial([E.V 1]),E.Sum([E.V 1],E.Prod[E.Sum([E.V 3, E.V 4],E.Prod[E.Epsilon(2, 3, 4), E.Tensor(0, [E.V 3]), E.Tensor(1, [E.V 4])]) ,E.Epsilon(0,1,2)]))
25 : cchiw 2399
26 :    
27 :     (*S11(AxB) x (CxD)*)
28 : cchiw 2448 val o3=E.Prod[E.Sum([E.V 1, E.V 2],
29 :     E.Prod[E.Epsilon(0,1,2),
30 :     E.Sum([E.V 3, E.V 4],E.Prod[E.Epsilon(1,3,4),E.Tensor(0,[E.V 3]), E.Tensor(1, [E.V 4])]),
31 :     E.Sum([E.V 5, E.V 6], E.Prod[E.Epsilon(2,5,6), E.Tensor(2,[E.V 5]), E.Tensor(3, [E.V 6]) ])]
32 :     )]
33 : cchiw 2399
34 :    
35 : cchiw 2448 val o4=E.Prod[E.Epsilon(2,5,6),E.Delta(E.V 1,E.V 2),E.Epsilon(1,5,6),E.Tensor(0,[E.V 1]),E.Epsilon(0,5,6)]
36 : cchiw 2399
37 : cchiw 2448 val o5=E.Prod[E.Sum([E.V 5, E.V 6],E.Prod[E.Epsilon(2,5,6),E.Delta(E.V 1,E.V 2),E.Epsilon(1,5,6)]),E.Sum([E.V 1,E.V 2],E.Prod[E.Tensor(0,[E.V 1]),E.Epsilon(0,5,6)])]
38 : cchiw 2399
39 :    
40 : cchiw 2463 (*val r=List.map createO [o1,o2,o3,o4,o5]*)
41 : cchiw 2399
42 :    
43 : cchiw 2463
44 :    
45 : cchiw 2399 end; (* local *)
46 :    
47 :     end (* local *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0