File: myMatch_new.mpi

package info (click to toggle)
mathpiper 0.81f%2Bsvn4469%2Bdfsg3-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 36,576 kB
  • sloc: java: 57,479; lisp: 13,721; objc: 1,300; xml: 988; makefile: 114; awk: 95; sh: 38
file content (73 lines) | stat: -rw-r--r-- 1,357 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

//Tell(a);

/////////////////////////////////////////////////////////////////
//                    my MatchLinear   
/////////////////////////////////////////////////////////////////

10 # myMatchLinear(var_(Not IsAtom),expr) <-- List();

12 # myMatchLinear(_var,expr_CanBeUni) <--
[
  Local(d,c);
  d := myDegree(expr,var);
  Tell(1,{expr,d});
  If(d = 1,  [c:=Coef(expr,var,{1,0}); Tell(ooo,{c}); c;], List() );
];

14 # myMatchLinear(_var,_expr) <-- List();



/////////////////////////////////////////////////////////////////
//                    my Degree   
/////////////////////////////////////////////////////////////////

10 # myDegree(expr_CanBeUni,_var)  <-- [Tell(D2,{expr,var}); Degree(expr,var);];

20 # myDegree(_expr,_var) <-- False;


Retract("tellMe",2);
Retract("trythis",2);

Clear(p1);
Clear(p2);
Clear(ss);
Clear(cc);

p1 := A*x+B;
p1 := x+B;
//p2 := A*x^2+B*x+C;
//ss := Sin(x);
//cc := 23;

10 # trythis(_var,_expr)_(mm:=myMatchLinear(var,expr)) <-- Tell("Here is the output: ",mm);
20 # trythis(_var,_expr) <-- Tell("NADA");


tellMe(_var,_expr) <--
[
   Local(m,ccs);
   Tell(CASE,expr);
   m := myMatchLinear(var,expr);
   Tell(1,m);
   ccs := trythis(var,expr);
   Tell(2,ccs);
];

//TraceOn();
tellMe(x,p1);  NewLine();
//TraceOff();
/*tellMe(x,p2);  NewLine();
tellMe(x,ss);  NewLine();
tellMe(x,cc);  NewLine();
*/