Annotation of OpenXM/src/k097/slib.sm1, Revision 1.11
1.1 maekawa 1: K00_verbose %% if-condition
2: { %%ifbody
3: ( slib.k (slib.ccc): 8/17,1996, 3/4 -- 3/10,1997 ) message }%%end if if body
4: { %%if- else part
5: } ifelse
6: [ ] /Helplist set
7: /HelpAdd {
8: db.DebugStack setstack $In function : HelpAdd of class PrimitiveObject$ stdstack
9: /Arglist set /Argthis set /FunctionValue [ ] def
1.8 takayama 10: [/this /s /category ] /ArgNames set ArgNames pushVariables [ %%function body
1.1 maekawa 11: [Argthis] Arglist join ArgNames mapset
1.8 takayama 12: [ %%start of local variables
13: /n ] pushVariables [ %%local variables
14: this [ %% function args
15: Arglist ] {Length} sendmsg2
16: /n set
17: n (1).. lessThanOrEqual
18: %% if-condition
19: { %%ifbody
20: null /category set
21: }%%end if if body
22: { %%if- else part
23: } ifelse
24: true %% if-condition
25: { %%ifbody
26: n (1).. eq
27: n (2).. eq
28: or
29: not
30: %% if-condition
31: { %%ifbody
32: this [ %% function args
33: s ] {Println} sendmsg2
34: this [ %% function args
35: (HelpAdd: wrong argument length.) ] {Error} sendmsg2
36: }%%end if if body
37: { %%if- else part
38: } ifelse
39: this [ %% function args
40: category ] {Tag} sendmsg2
41: (0).. eq
42: this [ %% function args
43: category ] {Tag} sendmsg2
44: (5).. eq
45: or
46: not
47: %% if-condition
48: { %%ifbody
49: this [ %% function args
50: category ] {Println} sendmsg2
51: this [ %% function args
52: (HelpAdd: wrong category.) ] {Error} sendmsg2
53: }%%end if if body
54: { %%if- else part
55: } ifelse
56: this [ %% function args
57: s ] {Tag} sendmsg2
58: (6).. eq
59: not
60: %% if-condition
61: { %%ifbody
62: this [ %% function args
63: s ] {Println} sendmsg2
64: this [ %% function args
65: (HelpAdd: s must be an array.) ] {Error} sendmsg2
66: }%%end if if body
67: { %%if- else part
68: } ifelse
69: this [ %% function args
70: s [(0).. ] Get
71: ] {Tag} sendmsg2
72: (5).. eq
73: not
74: %% if-condition
75: { %%ifbody
76: this [ %% function args
77: s ] {Println} sendmsg2
78: this [ %% function args
79: (HelpAdd: s[0] must be a string.) ] {Error} sendmsg2
80: }%%end if if body
81: { %%if- else part
82: } ifelse
83: this [ %% function args
84: s [(1).. ] Get
85: ] {Tag} sendmsg2
86: (5).. eq
87: this [ %% function args
88: s [(1).. ] Get
89: ] {Tag} sendmsg2
90: (6).. eq
91: or
92: not
93: %% if-condition
94: { %%ifbody
95: this [ %% function args
96: s ] {Println} sendmsg2
97: this [ %% function args
98: (HelpAdd: s[1] must be a string or an array.) ] {Error} sendmsg2
99: }%%end if if body
100: { %%if- else part
101: } ifelse
102: }%%end if if body
103: { %%if- else part
104: } ifelse
105: [ category s ] /s set
1.1 maekawa 106: this [ %% function args
107: Helplist s ] {Append} sendmsg2
108: /Helplist set
1.8 takayama 109: /ExitPoint ]pop popVariables %%pop the local variables
1.1 maekawa 110: /ExitPoint ]pop popVariables %%pop argValues
111: db.DebugStack setstack pop stdstack
112: } def
113: %%end of function
114:
1.8 takayama 115: /Tag {
116: db.DebugStack setstack $In function : Tag of class PrimitiveObject$ stdstack
117: /Arglist set /Argthis set /FunctionValue [ ] def
118: [/this /f ] /ArgNames set ArgNames pushVariables [ %%function body
119: [Argthis] Arglist join ArgNames mapset
120: [ %%start of local variables
121: /ans ] pushVariables [ %%local variables
122: f etag (universalNumber) dc /ans set
123: ans /FunctionValue set {/ExitPoint goto} exec %%return
124: /ExitPoint ]pop popVariables %%pop the local variables
125: /ExitPoint ]pop popVariables %%pop argValues
126: db.DebugStack setstack pop stdstack
127: FunctionValue } def
128: %%end of function
129:
130: /Error {
131: db.DebugStack setstack $In function : Error of class PrimitiveObject$ stdstack
132: /Arglist set /Argthis set /FunctionValue [ ] def
133: [/this /s ] /ArgNames set ArgNames pushVariables [ %%function body
134: [Argthis] Arglist join ArgNames mapset
135: s error /ExitPoint ]pop popVariables %%pop argValues
136: db.DebugStack setstack pop stdstack
137: FunctionValue } def
138: %%end of function
139:
1.1 maekawa 140: /Print {
141: db.DebugStack setstack $In function : Print of class PrimitiveObject$ stdstack
142: /Arglist set /Argthis set /FunctionValue [ ] def
143: [/this /a ] /ArgNames set ArgNames pushVariables [ %%function body
144: [Argthis] Arglist join ArgNames mapset
145: a messagen /ExitPoint ]pop popVariables %%pop argValues
146: db.DebugStack setstack pop stdstack
147: FunctionValue } def
148: %%end of function
149:
150: /Println {
151: db.DebugStack setstack $In function : Println of class PrimitiveObject$ stdstack
152: /Arglist set /Argthis set /FunctionValue [ ] def
153: [/this /a ] /ArgNames set ArgNames pushVariables [ %%function body
154: [Argthis] Arglist join ArgNames mapset
155: a message /ExitPoint ]pop popVariables %%pop argValues
156: db.DebugStack setstack pop stdstack
157: FunctionValue } def
158: %%end of function
159:
160: /Ln {
161: db.DebugStack setstack $In function : Ln of class PrimitiveObject$ stdstack
162: /Arglist set /Argthis set /FunctionValue [ ] def
163: [/this ] /ArgNames set ArgNames pushVariables [ %%function body
164: [Argthis] ArgNames mapset
165: ( ) message /ExitPoint ]pop popVariables %%pop argValues
166: db.DebugStack setstack pop stdstack
167: FunctionValue } def
168: %%end of function
169:
170: /Poly {
171: db.DebugStack setstack $In function : Poly of class PrimitiveObject$ stdstack
172: /Arglist set /Argthis set /FunctionValue [ ] def
173: [/this /f ] /ArgNames set ArgNames pushVariables [ %%function body
174: [Argthis] Arglist join ArgNames mapset
175: f (poly) data_conversion /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
176: db.DebugStack setstack pop stdstack
177: FunctionValue } def
178: %%end of function
179:
180: /PolyR {
181: db.DebugStack setstack $In function : PolyR of class PrimitiveObject$ stdstack
182: /Arglist set /Argthis set /FunctionValue [ ] def
183: [/this /f /r ] /ArgNames set ArgNames pushVariables [ %%function body
184: [Argthis] Arglist join ArgNames mapset
1.11 ! takayama 185: f r __ /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
1.1 maekawa 186: db.DebugStack setstack pop stdstack
187: FunctionValue } def
188: %%end of function
189:
190: /Degree {
191: db.DebugStack setstack $In function : Degree of class PrimitiveObject$ stdstack
192: /Arglist set /Argthis set /FunctionValue [ ] def
193: [/this /f /v ] /ArgNames set ArgNames pushVariables [ %%function body
194: [Argthis] Arglist join ArgNames mapset
195: f v degree (universalNumber) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
196: db.DebugStack setstack pop stdstack
197: FunctionValue } def
198: %%end of function
199:
200: /Append {
201: db.DebugStack setstack $In function : Append of class PrimitiveObject$ stdstack
202: /Arglist set /Argthis set /FunctionValue [ ] def
203: [/this /f /g ] /ArgNames set ArgNames pushVariables [ %%function body
204: [Argthis] Arglist join ArgNames mapset
205: this [ %% function args
206: f [ g ] ] {Join} sendmsg2
207: /FunctionValue set {/ExitPoint goto} exec %%return
208: /ExitPoint ]pop popVariables %%pop argValues
209: db.DebugStack setstack pop stdstack
210: FunctionValue } def
211: %%end of function
212:
213: /Length {
214: db.DebugStack setstack $In function : Length of class PrimitiveObject$ stdstack
215: /Arglist set /Argthis set /FunctionValue [ ] def
216: [/this /f ] /ArgNames set ArgNames pushVariables [ %%function body
217: [Argthis] Arglist join ArgNames mapset
218: f length (universalNumber) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
219: db.DebugStack setstack pop stdstack
220: FunctionValue } def
221: %%end of function
222:
223: /Transpose {
224: db.DebugStack setstack $In function : Transpose of class PrimitiveObject$ stdstack
225: /Arglist set /Argthis set /FunctionValue [ ] def
226: [/this /mat ] /ArgNames set ArgNames pushVariables [ %%function body
227: [Argthis] Arglist join ArgNames mapset
228: mat transpose /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
229: db.DebugStack setstack pop stdstack
230: FunctionValue } def
231: %%end of function
232:
233:
234: /s.Indexed {
235: (integer) dc /arg2 set
236: /arg1 set
237: arg1 ([) arg2 (dollar) dc (]) 4 cat_n
238: } def
239:
240: /s.Indexed2 {
241: (integer) dc /arg3 set
242: (integer) dc /arg2 set
243: /arg1 set
244: arg1 ([) arg2 (dollar) dc (,) arg3 (dollar) dc (]) 6 cat_n
245: } def
246: /Groebner {
247: db.DebugStack setstack $In function : Groebner of class PrimitiveObject$ stdstack
248: /Arglist set /Argthis set /FunctionValue [ ] def
249: [/this /F ] /ArgNames set ArgNames pushVariables [ %%function body
250: [Argthis] Arglist join ArgNames mapset
251: F {[[(h). (1).]] replace homogenize} map /arg1 set
252: [arg1] groebner 0 get
253: /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
254: db.DebugStack setstack pop stdstack
255: FunctionValue } def
256: %%end of function
257:
258: /GroebnerTime {
259: db.DebugStack setstack $In function : GroebnerTime of class PrimitiveObject$ stdstack
260: /Arglist set /Argthis set /FunctionValue [ ] def
261: [/this /F ] /ArgNames set ArgNames pushVariables [ %%function body
262: [Argthis] Arglist join ArgNames mapset
263: F {[[(h). (1).]] replace homogenize} map /arg1 set
264: { [arg1] groebner 0 get } timer
265: /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
266: db.DebugStack setstack pop stdstack
267: FunctionValue } def
268: %%end of function
269:
270: /LiftStd {
271: db.DebugStack setstack $In function : LiftStd of class PrimitiveObject$ stdstack
272: /Arglist set /Argthis set /FunctionValue [ ] def
273: [/this /F ] /ArgNames set ArgNames pushVariables [ %%function body
274: [Argthis] Arglist join ArgNames mapset
275: F {[[(h). (1).]] replace homogenize} map /arg1 set
276: [arg1 [(needBack)]] groebner
277: /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
278: db.DebugStack setstack pop stdstack
279: FunctionValue } def
280: %%end of function
281:
282: /Reduction {
283: db.DebugStack setstack $In function : Reduction of class PrimitiveObject$ stdstack
284: /Arglist set /Argthis set /FunctionValue [ ] def
1.6 takayama 285: [/this /f /myset ] /ArgNames set ArgNames pushVariables [ %%function body
1.1 maekawa 286: [Argthis] Arglist join ArgNames mapset
1.6 takayama 287: [ %%start of local variables
288: /n /indexTable /set2 /i /j /tmp /t_syz /r /rng /vsize /tt ] pushVariables [ %%local variables
289: null /vsize set
290: this [ %% function args
291: this [ %% function args
292: (1) ] {Poly} sendmsg2
293: ] {GetRing} sendmsg2
294: /r set
295: this [ %% function args
296: f ] {GetRing} sendmsg2
297: /rng set
298: this [ %% function args
299: rng ] {Tag} sendmsg2
300: (0).. eq
301: %% if-condition
302: { %%ifbody
303: this [ %% function args
304: myset ] {GetRing} sendmsg2
305: /rng set
306: }%%end if if body
307: { %%if- else part
308: } ifelse
309: this [ %% function args
310: rng ] {Tag} sendmsg2
311: (0).. eq not
312: %% if-condition
313: { %%ifbody
314: this [ %% function args
315: rng ] {SetRing} sendmsg2
316: }%%end if if body
317: { %%if- else part
318: } ifelse
319: this [ %% function args
320: f ] {IsArray} sendmsg2
321: %% if-condition
322: { %%ifbody
323: this [ %% function args
324: f ] {Length} sendmsg2
325: /vsize set
326: [f] fromVectors 0 get /f set }%%end if if body
327: { %%if- else part
328: } ifelse
329: this [ %% function args
330: myset ] {Length} sendmsg2
331: /n set
332: n (0).. gt
333: %% if-condition
334: { %%ifbody
335: this [ %% function args
336: myset [(0).. ] Get
337: ] {IsArray} sendmsg2
338: %% if-condition
339: { %%ifbody
340: vsize this [ %% function args
341: myset [(0).. ] Get
342: ] {Length} sendmsg2
343: eq not
344: %% if-condition
345: { %%ifbody
346: this [ %% function args
347: (Reduction: size mismatch.) ] {Error} sendmsg2
348: }%%end if if body
349: { %%if- else part
350: } ifelse
351: myset fromVectors /myset set }%%end if if body
352: { %%if- else part
353: } ifelse
354: }%%end if if body
355: { %%if- else part
356: } ifelse
357: this [ %% function args
358: n ] {NewArray} sendmsg2
359: /indexTable set
360: [ ] /set2 set
361: (0).. /j set
362: (0).. /i set
363: %%for init.
364: %%for
365: { i n lt
366: { } {exit} ifelse
367: [ {%%increment
368: /i i (1).. {add} sendmsg2 def
369: } %%end of increment{A}
370: {%%start of B part{B}
371: this [ %% function args
372: myset [i ] Get
373: ] {Tag} sendmsg2
374: (0).. eq
375: %% if-condition
376: { %%ifbody
377: indexTable [i ] (1).. (0).. 2 1 roll {sub} sendmsg
378: Put
379: }%%end if if body
380: { %%if- else part
381: myset [i ] Get
382: this [ %% function args
383: (0) ] {Poly} sendmsg2
384: eq
385: %% if-condition
386: { %%ifbody
387: indexTable [i ] (1).. (0).. 2 1 roll {sub} sendmsg
388: Put
389: }%%end if if body
390: { %%if- else part
391: this [ %% function args
392: set2 myset [i ] Get
393: ] {Append} sendmsg2
394: /set2 set
395: indexTable [i ] j Put
396: /j j (1).. {add} sendmsg2 def
397: } ifelse
398: } ifelse
399: } %% end of B part. {B}
400: 2 1 roll] {exec} map pop
401: } loop %%end of for
402: f set2 (gradedPolySet) dc reduction /tmp set this [ %% function args
403: n ] {NewArray} sendmsg2
404: /t_syz set
405: (0).. /i set
406: %%for init.
407: %%for
408: { i n lt
409: { } {exit} ifelse
410: [ {%%increment
411: /i i (1).. {add} sendmsg2 def
412: } %%end of increment{A}
413: {%%start of B part{B}
414: indexTable [i ] Get
415: (1).. (0).. 2 1 roll {sub} sendmsg
416: eq not
417: %% if-condition
418: { %%ifbody
419: t_syz [i ] tmp [(2).. indexTable [i ] Get
420: ] Get
421: Put
422: }%%end if if body
423: { %%if- else part
424: t_syz [i ] this [ %% function args
425: (0) ] {Poly} sendmsg2
426: Put
427: } ifelse
428: } %% end of B part. {B}
429: 2 1 roll] {exec} map pop
430: } loop %%end of for
431: this [ %% function args
432: vsize ] {Tag} sendmsg2
433: (0).. eq not
434: %% if-condition
435: { %%ifbody
436: tmp [(0).. ] Get
437: /tt set
438: [vsize (integer) dc tt] toVectors /tt set tmp [(0).. ] tt Put
439: }%%end if if body
440: { %%if- else part
441: } ifelse
442: this [ %% function args
443: r ] {SetRing} sendmsg2
444: [ tmp [(0).. ] Get
445: tmp [(1).. ] Get
446: t_syz ] /FunctionValue set {/ExitPoint goto} exec %%return
447: /ExitPoint ]pop popVariables %%pop the local variables
448: /ExitPoint ]pop popVariables %%pop argValues
1.1 maekawa 449: db.DebugStack setstack pop stdstack
450: FunctionValue } def
451: %%end of function
452:
453: /IntegerToSm1Integer {
454: db.DebugStack setstack $In function : IntegerToSm1Integer of class PrimitiveObject$ stdstack
455: /Arglist set /Argthis set /FunctionValue [ ] def
456: [/this /f ] /ArgNames set ArgNames pushVariables [ %%function body
457: [Argthis] Arglist join ArgNames mapset
458: f (integer) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
459: db.DebugStack setstack pop stdstack
460: FunctionValue } def
461: %%end of function
462:
463: /RingD {
464: db.DebugStack setstack $In function : RingD of class PrimitiveObject$ stdstack
465: /Arglist set /Argthis set /FunctionValue [ ] def
466: [/this /vList /weightMatrix /pp ] /ArgNames set ArgNames pushVariables [ %%function body
467: [Argthis] Arglist join ArgNames mapset
468: [ %%start of local variables
469: /new0 /tmp /size /n /i /j /newtmp /ringpp /argsize ] pushVariables [ %%local variables
470: this [ %% function args
471: Arglist ] {Length} sendmsg2
472: /argsize set
1.9 takayama 473: this [ %% function args
474: vList ] {IsArray} sendmsg2
475: %% if-condition
476: { %%ifbody
477: vList {toString} map from_records /vList set }%%end if if body
478: { %%if- else part
479: } ifelse
1.1 maekawa 480: argsize (1).. eq
481: %% if-condition
482: { %%ifbody
483: [ vList ring_of_differential_operators ( ) elimination_order 0 ] define_ring
1.4 takayama 484: /tmp set this [ %% function args
485: ] {SetRingVariables} sendmsg2
486: tmp /FunctionValue set {/ExitPoint goto} exec %%return
1.1 maekawa 487: }%%end if if body
488: { %%if- else part
489: } ifelse
490: argsize (2).. eq
491: %% if-condition
492: { %%ifbody
493: (0).. /pp set
494: }%%end if if body
495: { %%if- else part
496: } ifelse
497: this [ %% function args
498: pp ] {IntegerToSm1Integer} sendmsg2
499: /pp set
500: this [ %% function args
501: weightMatrix ] {Length} sendmsg2
502: /size set
503: this [ %% function args
504: size ] {NewVector} sendmsg2
505: /new0 set
1.10 takayama 506: /@@@.indexMode.flag.save @@@.indexMode.flag def 0 @@@.indexMode (0).. size 2 -1 roll
507: %%PSfor initvalue.
1.1 maekawa 508: (integer) data_conversion
1.10 takayama 509: 2 -1 roll
510: (1).. sub (integer) data_conversion 1 2 -1 roll
1.1 maekawa 511: { %% for body
512: (universalNumber) data_conversion /i set
513: weightMatrix [i ] Get
514: /tmp set
515: this [ %% function args
516: tmp ] {Length} sendmsg2
517: /n set
518: this [ %% function args
519: n ] {NewVector} sendmsg2
520: /newtmp set
521: (1).. /j set
522: %%for init.
523: %%for
524: { j n lt
525: { } {exit} ifelse
526: [ {%%increment
527: j (2).. {add} sendmsg2
528: /j set
529: } %%end of increment{A}
530: {%%start of B part{B}
531: newtmp [j (1).. {sub} sendmsg2
532: ] tmp [j (1).. {sub} sendmsg2
533: ] Get
534: Put
535: newtmp [j ] this [ %% function args
536: tmp [j ] Get
537: ] {IntegerToSm1Integer} sendmsg2
538: Put
539: } %% end of B part. {B}
540: 2 1 roll] {exec} map pop
541: } loop %%end of for
542: new0 [i ] newtmp Put
543: } for
544: [ vList ring_of_differential_operators new0 weight_vector pp ] define_ring /ringpp set
1.4 takayama 545: this [ %% function args
546: ] {SetRingVariables} sendmsg2
1.1 maekawa 547: @@@.indexMode.flag.save @@@.indexMode ringpp /FunctionValue set {/ExitPoint goto} exec %%return
548: /ExitPoint ]pop popVariables %%pop the local variables
549: /ExitPoint ]pop popVariables %%pop argValues
550: db.DebugStack setstack pop stdstack
551: FunctionValue } def
552: %%end of function
553:
554: /getxvar {
555: db.DebugStack setstack $In function : getxvar of class PrimitiveObject$ stdstack
556: /Arglist set /Argthis set /FunctionValue [ ] def
557: [/this /i ] /ArgNames set ArgNames pushVariables [ %%function body
558: [Argthis] Arglist join ArgNames mapset
559: [(x) (var) i ..int ] system_variable /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
560: db.DebugStack setstack pop stdstack
561: FunctionValue } def
562: %%end of function
563:
564: /getdvar {
565: db.DebugStack setstack $In function : getdvar of class PrimitiveObject$ stdstack
566: /Arglist set /Argthis set /FunctionValue [ ] def
567: [/this /i ] /ArgNames set ArgNames pushVariables [ %%function body
568: [Argthis] Arglist join ArgNames mapset
569: [(D) (var) i ..int ] system_variable /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
570: db.DebugStack setstack pop stdstack
571: FunctionValue } def
572: %%end of function
573:
574: /getvarn {
575: db.DebugStack setstack $In function : getvarn of class PrimitiveObject$ stdstack
576: /Arglist set /Argthis set /FunctionValue [ ] def
577: [/this ] /ArgNames set ArgNames pushVariables [ %%function body
578: [Argthis] ArgNames mapset
579: [(N)] system_variable (universalNumber) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
580: db.DebugStack setstack pop stdstack
581: FunctionValue } def
582: %%end of function
583:
1.4 takayama 584: false /SetRingVariables_Verbose set
1.1 maekawa 585: /SetRingVariables {
586: db.DebugStack setstack $In function : SetRingVariables of class PrimitiveObject$ stdstack
587: /Arglist set /Argthis set /FunctionValue [ ] def
588: [/this ] /ArgNames set ArgNames pushVariables [ %%function body
589: [Argthis] ArgNames mapset
590: SetRingVariables_Verbose %% if-condition
591: { %%ifbody
592: this [ %% function args
593: (SetRingVariables() Setting the global variables : ) ] {Print} sendmsg2
594: }%%end if if body
595: { %%if- else part
596: } ifelse
597: this [ %% function args
1.4 takayama 598: (0).. [(N)] system_variable (universalNumber) dc ] {k00setRingVariables} sendmsg2
599: %% if-condition
600: { %%ifbody
601: define_ring_variables }%%end if if body
602: { %%if- else part
603: } ifelse
1.1 maekawa 604: SetRingVariables_Verbose %% if-condition
605: { %%ifbody
606: this [ %% function args
607: ] {Ln} sendmsg2
608: }%%end if if body
609: { %%if- else part
610: } ifelse
611: /ExitPoint ]pop popVariables %%pop argValues
612: db.DebugStack setstack pop stdstack
613: FunctionValue } def
614: %%end of function
615:
616: /k00AreThereLeftBrace {
617: db.DebugStack setstack $In function : k00AreThereLeftBrace of class PrimitiveObject$ stdstack
618: /Arglist set /Argthis set /FunctionValue [ ] def
619: [/this /s ] /ArgNames set ArgNames pushVariables [ %%function body
620: [Argthis] Arglist join ArgNames mapset
621: [ %%start of local variables
622: /leftBrace /jj /slist ] pushVariables [ %%local variables
623: $[$ (array) dc 0 get (universalNumber) dc /leftBrace set
624: this [ %% function args
625: this [ %% function args
1.8 takayama 626: s ] {StringToAsciiArray} sendmsg2
1.1 maekawa 627: leftBrace ] {Position} sendmsg2
628: /jj set
629: jj (1).. (0).. 2 1 roll {sub} sendmsg
630: eq not
631: %% if-condition
632: { %%ifbody
633: true /FunctionValue set {/ExitPoint goto} exec %%return
634: }%%end if if body
635: { %%if- else part
636: false /FunctionValue set {/ExitPoint goto} exec %%return
637: } ifelse
638: /ExitPoint ]pop popVariables %%pop the local variables
639: /ExitPoint ]pop popVariables %%pop argValues
640: db.DebugStack setstack pop stdstack
641: FunctionValue } def
642: %%end of function
643:
644: /k00setRingVariables {
645: db.DebugStack setstack $In function : k00setRingVariables of class PrimitiveObject$ stdstack
646: /Arglist set /Argthis set /FunctionValue [ ] def
1.4 takayama 647: [/this /p /q ] /ArgNames set ArgNames pushVariables [ %%function body
1.1 maekawa 648: [Argthis] Arglist join ArgNames mapset
649: [ %%start of local variables
1.4 takayama 650: /v /i ] pushVariables [ %%local variables
651: p /i set
652: %%for init.
653: %%for
654: { i q lt
655: { } {exit} ifelse
656: [ {%%increment
657: /i i (1).. {add} sendmsg2 def
658: } %%end of increment{A}
659: {%%start of B part{B}
1.1 maekawa 660: this [ %% function args
1.4 takayama 661: i ] {getxvar} sendmsg2
662: /v set
1.1 maekawa 663: this [ %% function args
1.4 takayama 664: v ] {k00AreThereLeftBrace} sendmsg2
1.1 maekawa 665: %% if-condition
666: { %%ifbody
1.4 takayama 667: false /FunctionValue set {/ExitPoint goto} exec %%return
1.1 maekawa 668: }%%end if if body
669: { %%if- else part
670: } ifelse
671: this [ %% function args
1.4 takayama 672: i ] {getdvar} sendmsg2
673: /v set
1.1 maekawa 674: this [ %% function args
1.4 takayama 675: v ] {k00AreThereLeftBrace} sendmsg2
1.1 maekawa 676: %% if-condition
677: { %%ifbody
1.4 takayama 678: false /FunctionValue set {/ExitPoint goto} exec %%return
1.1 maekawa 679: }%%end if if body
680: { %%if- else part
681: } ifelse
1.4 takayama 682: } %% end of B part. {B}
683: 2 1 roll] {exec} map pop
684: } loop %%end of for
685: true /FunctionValue set {/ExitPoint goto} exec %%return
1.1 maekawa 686: /ExitPoint ]pop popVariables %%pop the local variables
687: /ExitPoint ]pop popVariables %%pop argValues
688: db.DebugStack setstack pop stdstack
1.4 takayama 689: FunctionValue } def
1.1 maekawa 690: %%end of function
691:
692: /AddString {
693: db.DebugStack setstack $In function : AddString of class PrimitiveObject$ stdstack
694: /Arglist set /Argthis set /FunctionValue [ ] def
695: [/this /f ] /ArgNames set ArgNames pushVariables [ %%function body
696: [Argthis] Arglist join ArgNames mapset
697: f aload length cat_n /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
698: db.DebugStack setstack pop stdstack
699: FunctionValue } def
700: %%end of function
701:
702: /IntegerToString {
703: db.DebugStack setstack $In function : IntegerToString of class PrimitiveObject$ stdstack
704: /Arglist set /Argthis set /FunctionValue [ ] def
705: [/this /f ] /ArgNames set ArgNames pushVariables [ %%function body
706: [Argthis] Arglist join ArgNames mapset
707: f (string) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
708: db.DebugStack setstack pop stdstack
709: FunctionValue } def
710: %%end of function
711:
712: /Replace {
713: db.DebugStack setstack $In function : Replace of class PrimitiveObject$ stdstack
714: /Arglist set /Argthis set /FunctionValue [ ] def
715: [/this /f /rule ] /ArgNames set ArgNames pushVariables [ %%function body
716: [Argthis] Arglist join ArgNames mapset
717: f rule replace /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
718: db.DebugStack setstack pop stdstack
719: FunctionValue } def
720: %%end of function
721:
722: /AsciiToString {
723: db.DebugStack setstack $In function : AsciiToString of class PrimitiveObject$ stdstack
724: /Arglist set /Argthis set /FunctionValue [ ] def
725: [/this /c ] /ArgNames set ArgNames pushVariables [ %%function body
726: [Argthis] Arglist join ArgNames mapset
727: c (integer) dc (string) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
728: db.DebugStack setstack pop stdstack
729: FunctionValue } def
730: %%end of function
731:
732: /ToString {
733: db.DebugStack setstack $In function : ToString of class PrimitiveObject$ stdstack
734: /Arglist set /Argthis set /FunctionValue [ ] def
735: [/this /p ] /ArgNames set ArgNames pushVariables [ %%function body
736: [Argthis] Arglist join ArgNames mapset
737: [ %%start of local variables
738: /n /ans /i ] pushVariables [ %%local variables
739: [ ] /ans set
740: this [ %% function args
741: p ] {IsArray} sendmsg2
742: %% if-condition
743: { %%ifbody
744: this [ %% function args
745: p ] {Length} sendmsg2
746: /n set
747: this [ %% function args
748: ans ([ ) ] {Append} sendmsg2
749: /ans set
750: (0).. /i set
751: %%for init.
752: %%for
753: { i n lt
754: { } {exit} ifelse
755: [ {%%increment
756: /i i (1).. {add} sendmsg2 def
757: } %%end of increment{A}
758: {%%start of B part{B}
759: this [ %% function args
760: ans this [ %% function args
761: p [i ] Get
762: ] {ToString} sendmsg2
763: ] {Append} sendmsg2
764: /ans set
765: i n (1).. {sub} sendmsg2
766: eq not
767: %% if-condition
768: { %%ifbody
769: this [ %% function args
770: ans ( , ) ] {Append} sendmsg2
771: /ans set
772: }%%end if if body
773: { %%if- else part
774: } ifelse
775: } %% end of B part. {B}
776: 2 1 roll] {exec} map pop
777: } loop %%end of for
778: this [ %% function args
779: ans ( ] ) ] {Append} sendmsg2
780: /ans set
781: }%%end if if body
782: { %%if- else part
783: [ p (dollar) dc ] /ans set
784: } ifelse
785: this [ %% function args
786: ans ] {AddString} sendmsg2
787: /FunctionValue set {/ExitPoint goto} exec %%return
788: /ExitPoint ]pop popVariables %%pop the local variables
789: /ExitPoint ]pop popVariables %%pop argValues
790: db.DebugStack setstack pop stdstack
791: FunctionValue } def
792: %%end of function
793:
794: /IsArray {
795: db.DebugStack setstack $In function : IsArray of class PrimitiveObject$ stdstack
796: /Arglist set /Argthis set /FunctionValue [ ] def
797: [/this /p ] /ArgNames set ArgNames pushVariables [ %%function body
798: [Argthis] Arglist join ArgNames mapset
799: p isArray /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
800: db.DebugStack setstack pop stdstack
801: FunctionValue } def
802: %%end of function
803:
804: /Denominator {
805: db.DebugStack setstack $In function : Denominator of class PrimitiveObject$ stdstack
806: /Arglist set /Argthis set /FunctionValue [ ] def
807: [/this /f ] /ArgNames set ArgNames pushVariables [ %%function body
808: [Argthis] Arglist join ArgNames mapset
809: f (denominator) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
810: db.DebugStack setstack pop stdstack
811: FunctionValue } def
812: %%end of function
813:
814: /Numerator {
815: db.DebugStack setstack $In function : Numerator of class PrimitiveObject$ stdstack
816: /Arglist set /Argthis set /FunctionValue [ ] def
817: [/this /f ] /ArgNames set ArgNames pushVariables [ %%function body
818: [Argthis] Arglist join ArgNames mapset
819: f (numerator) dc /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
820: db.DebugStack setstack pop stdstack
821: FunctionValue } def
822: %%end of function
823:
824: /Replace {
825: db.DebugStack setstack $In function : Replace of class PrimitiveObject$ stdstack
826: /Arglist set /Argthis set /FunctionValue [ ] def
827: [/this /f /rule ] /ArgNames set ArgNames pushVariables [ %%function body
828: [Argthis] Arglist join ArgNames mapset
829: [ %%start of local variables
830: /ans /n /tmp /i /num /den ] pushVariables [ %%local variables
831: this [ %% function args
832: f ] {IsArray} sendmsg2
833: %% if-condition
834: { %%ifbody
835: this [ %% function args
836: f ] {Length} sendmsg2
837: /n set
838: [ ] /ans set
839: (0).. /i set
840: %%for init.
841: %%for
842: { i n lt
843: { } {exit} ifelse
844: [ {%%increment
845: /i i (1).. {add} sendmsg2 def
846: } %%end of increment{A}
847: {%%start of B part{B}
848: this [ %% function args
849: ans this [ %% function args
850: f [i ] Get
851: rule ] {Replace} sendmsg2
852: ] {Append} sendmsg2
853: /ans set
854: } %% end of B part. {B}
855: 2 1 roll] {exec} map pop
856: } loop %%end of for
857: ans /FunctionValue set {/ExitPoint goto} exec %%return
858: }%%end if if body
859: { %%if- else part
860: } ifelse
861: f tag RationalFunctionP eq %% if-condition
862: { %%ifbody
863: this [ %% function args
864: f ] {Numerator} sendmsg2
865: /num set
866: this [ %% function args
867: f ] {Denominator} sendmsg2
868: /den set
869: num rule replace /num set
870: den rule replace /den set
871: num den {div} sendmsg2
872: /FunctionValue set {/ExitPoint goto} exec %%return
873: }%%end if if body
874: { %%if- else part
875: } ifelse
876: f rule replace /FunctionValue set /ExitPoint ]pop popVariables %%pop the local variables
877: /ExitPoint ]pop popVariables %%pop argValues
878: db.DebugStack setstack pop stdstack
879: FunctionValue } def
880: %%end of function
881:
882: /Map {
883: db.DebugStack setstack $In function : Map of class PrimitiveObject$ stdstack
884: /Arglist set /Argthis set /FunctionValue [ ] def
885: [/this /karg /func ] /ArgNames set ArgNames pushVariables [ %%function body
886: [Argthis] Arglist join ArgNames mapset
887: karg { [ 2 -1 roll ] this 2 -1 roll [(parse) func ] extension pop } map /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
888: db.DebugStack setstack pop stdstack
889: FunctionValue } def
890: %%end of function
891:
892: /Position {
893: db.DebugStack setstack $In function : Position of class PrimitiveObject$ stdstack
894: /Arglist set /Argthis set /FunctionValue [ ] def
895: [/this /list /elem ] /ArgNames set ArgNames pushVariables [ %%function body
896: [Argthis] Arglist join ArgNames mapset
897: [ %%start of local variables
898: /n /pos /i ] pushVariables [ %%local variables
899: this [ %% function args
900: list ] {Length} sendmsg2
901: /n set
902: (1).. (0).. 2 1 roll {sub} sendmsg
903: /pos set
904: (0).. /i set
905: %%for init.
906: %%for
907: { i n lt
908: { } {exit} ifelse
909: [ {%%increment
910: /i i (1).. {add} sendmsg2 def
911: } %%end of increment{A}
912: {%%start of B part{B}
913: elem list [i ] Get
914: eq
915: %% if-condition
916: { %%ifbody
917: i /pos set
918: /k00.label0 goto }%%end if if body
919: { %%if- else part
920: } ifelse
921: } %% end of B part. {B}
922: 2 1 roll] {exec} map pop
923: } loop %%end of for
924: /k00.label0 pos /FunctionValue set {/ExitPoint goto} exec %%return
925: /ExitPoint ]pop popVariables %%pop the local variables
926: /ExitPoint ]pop popVariables %%pop argValues
927: db.DebugStack setstack pop stdstack
928: FunctionValue } def
929: %%end of function
930:
931: /StringToAsciiArray {
932: db.DebugStack setstack $In function : StringToAsciiArray of class PrimitiveObject$ stdstack
933: /Arglist set /Argthis set /FunctionValue [ ] def
934: [/this /s ] /ArgNames set ArgNames pushVariables [ %%function body
935: [Argthis] Arglist join ArgNames mapset
1.8 takayama 936: s (array) dc { (universalNumber) dc } map /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
1.1 maekawa 937: db.DebugStack setstack pop stdstack
938: FunctionValue } def
939: %%end of function
940:
941: /NewArray {
942: db.DebugStack setstack $In function : NewArray of class PrimitiveObject$ stdstack
943: /Arglist set /Argthis set /FunctionValue [ ] def
944: [/this /n ] /ArgNames set ArgNames pushVariables [ %%function body
945: [Argthis] Arglist join ArgNames mapset
946: this [ %% function args
947: n ] {NewVector} sendmsg2
948: /FunctionValue set {/ExitPoint goto} exec %%return
949: /ExitPoint ]pop popVariables %%pop argValues
950: db.DebugStack setstack pop stdstack
951: FunctionValue } def
952: %%end of function
953:
1.2 takayama 954: /GetEnv {
955: db.DebugStack setstack $In function : GetEnv of class PrimitiveObject$ stdstack
956: /Arglist set /Argthis set /FunctionValue [ ] def
957: [/this /s ] /ArgNames set ArgNames pushVariables [ %%function body
958: [Argthis] Arglist join ArgNames mapset
959: [(getenv) s] extension /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
960: db.DebugStack setstack pop stdstack
961: FunctionValue } def
962: %%end of function
963:
1.3 takayama 964: /Boundp {
965: db.DebugStack setstack $In function : Boundp of class PrimitiveObject$ stdstack
966: /Arglist set /Argthis set /FunctionValue [ ] def
967: [/this /a ] /ArgNames set ArgNames pushVariables [ %%function body
968: [Argthis] Arglist join ArgNames mapset
969: [ %%start of local variables
970: /b ] pushVariables [ %%local variables
971: [(parse) [(/) a ( load tag 0 eq
972: { /FunctionValue 0 def }
973: { /FunctionValue 1 def } ifelse )] cat ] extension /ExitPoint ]pop popVariables %%pop the local variables
974: /ExitPoint ]pop popVariables %%pop argValues
975: db.DebugStack setstack pop stdstack
976: FunctionValue } def
977: %%end of function
978:
979: /Rest {
980: db.DebugStack setstack $In function : Rest of class PrimitiveObject$ stdstack
981: /Arglist set /Argthis set /FunctionValue [ ] def
982: [/this /a ] /ArgNames set ArgNames pushVariables [ %%function body
983: [Argthis] Arglist join ArgNames mapset
984: a rest /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
985: db.DebugStack setstack pop stdstack
986: FunctionValue } def
987: %%end of function
988:
989: /GetPathName {
990: db.DebugStack setstack $In function : GetPathName of class PrimitiveObject$ stdstack
991: /Arglist set /Argthis set /FunctionValue [ ] def
992: [/this /s ] /ArgNames set ArgNames pushVariables [ %%function body
993: [Argthis] Arglist join ArgNames mapset
994: [ %%start of local variables
995: /t /sss ] pushVariables [ %%local variables
996: s /sss set
997: [(stat) s] extension 0 get /t set this [ %% function args
998: t ] {Tag} sendmsg2
999: (0).. eq
1000: %% if-condition
1001: { %%ifbody
1002: this [ %% function args
1003: [ this [ %% function args
1004: (LOAD_K_PATH) ] {GetEnv} sendmsg2
1005: (/) s ] ] {AddString} sendmsg2
1006: /s set
1007: [(stat) s] extension 0 get /t set this [ %% function args
1008: t ] {Tag} sendmsg2
1009: (0).. eq
1010: %% if-condition
1011: { %%ifbody
1012: null /FunctionValue set {/ExitPoint goto} exec %%return
1013: }%%end if if body
1014: { %%if- else part
1015: s /FunctionValue set {/ExitPoint goto} exec %%return
1016: } ifelse
1017: }%%end if if body
1018: { %%if- else part
1019: s /FunctionValue set {/ExitPoint goto} exec %%return
1020: } ifelse
1021: /ExitPoint ]pop popVariables %%pop the local variables
1022: /ExitPoint ]pop popVariables %%pop argValues
1023: db.DebugStack setstack pop stdstack
1024: FunctionValue } def
1025: %%end of function
1026:
1.4 takayama 1027: /Load_sm1 {
1028: db.DebugStack setstack $In function : Load_sm1 of class PrimitiveObject$ stdstack
1029: /Arglist set /Argthis set /FunctionValue [ ] def
1030: [/this /fnames /flag ] /ArgNames set ArgNames pushVariables [ %%function body
1031: [Argthis] Arglist join ArgNames mapset
1032: [ %%start of local variables
1033: /ppp /n /i /cmd ] pushVariables [ %%local variables
1034: this [ %% function args
1035: flag ] {Boundp} sendmsg2
1036: %% if-condition
1037: { %%ifbody
1038: }%%end if if body
1039: { %%if- else part
1040: this [ %% function args
1041: fnames ] {Length} sendmsg2
1042: /n set
1043: (0).. /i set
1044: %%for init.
1045: %%for
1046: { i n lt
1047: { } {exit} ifelse
1048: [ {%%increment
1049: /i i (1).. {add} sendmsg2 def
1050: } %%end of increment{A}
1051: {%%start of B part{B}
1052: this [ %% function args
1053: fnames [i ] Get
1054: ] {GetPathName} sendmsg2
1055: /ppp set
1056: this [ %% function args
1057: ppp ] {Tag} sendmsg2
1058: (0).. eq not
1059: %% if-condition
1060: { %%ifbody
1061: [(parse) ppp pushfile ] extension this [ %% function args
1062: [ (/) flag ( 1 def ) ] ] {AddString} sendmsg2
1063: /cmd set
1064: [(parse) cmd ] extension n /i set
1065: }%%end if if body
1066: { %%if- else part
1067: } ifelse
1068: } %% end of B part. {B}
1069: 2 1 roll] {exec} map pop
1070: } loop %%end of for
1071: } ifelse
1072: /ExitPoint ]pop popVariables %%pop the local variables
1073: /ExitPoint ]pop popVariables %%pop argValues
1074: db.DebugStack setstack pop stdstack
1075: FunctionValue } def
1076: %%end of function
1077:
1.5 takayama 1078: /GetRing {
1079: db.DebugStack setstack $In function : GetRing of class PrimitiveObject$ stdstack
1080: /Arglist set /Argthis set /FunctionValue [ ] def
1081: [/this /f ] /ArgNames set ArgNames pushVariables [ %%function body
1082: [Argthis] Arglist join ArgNames mapset
1083: f getRing /FunctionValue set /ExitPoint ]pop popVariables %%pop argValues
1084: db.DebugStack setstack pop stdstack
1085: FunctionValue } def
1086: %%end of function
1087:
1088: /SetRing {
1089: db.DebugStack setstack $In function : SetRing of class PrimitiveObject$ stdstack
1090: /Arglist set /Argthis set /FunctionValue [ ] def
1091: [/this /r ] /ArgNames set ArgNames pushVariables [ %%function body
1092: [Argthis] Arglist join ArgNames mapset
1093: r ring_def /ExitPoint ]pop popVariables %%pop argValues
1094: db.DebugStack setstack pop stdstack
1095: FunctionValue } def
1096: %%end of function
1097:
1.7 takayama 1098: /ReParse {
1099: db.DebugStack setstack $In function : ReParse of class PrimitiveObject$ stdstack
1100: /Arglist set /Argthis set /FunctionValue [ ] def
1101: [/this /a ] /ArgNames set ArgNames pushVariables [ %%function body
1102: [Argthis] Arglist join ArgNames mapset
1103: [ %%start of local variables
1104: /c ] pushVariables [ %%local variables
1105: this [ %% function args
1106: a ] {IsArray} sendmsg2
1107: %% if-condition
1108: { %%ifbody
1109: this [ %% function args
1110: a (ReParse) ] {Map} sendmsg2
1111: /c set
1112: }%%end if if body
1113: { %%if- else part
1114: a toString . /c set } ifelse
1115: c /FunctionValue set {/ExitPoint goto} exec %%return
1116: /ExitPoint ]pop popVariables %%pop the local variables
1117: /ExitPoint ]pop popVariables %%pop argValues
1118: db.DebugStack setstack pop stdstack
1119: FunctionValue } def
1120: %%end of function
1121:
1122: /Pmat {
1123: db.DebugStack setstack $In function : Pmat of class PrimitiveObject$ stdstack
1124: /Arglist set /Argthis set /FunctionValue [ ] def
1125: [/this /a ] /ArgNames set ArgNames pushVariables [ %%function body
1126: [Argthis] Arglist join ArgNames mapset
1127: a pmat /ExitPoint ]pop popVariables %%pop argValues
1.10 takayama 1128: db.DebugStack setstack pop stdstack
1129: } def
1130: %%end of function
1131:
1132: /QuoteMode {
1133: db.DebugStack setstack $In function : QuoteMode of class PrimitiveObject$ stdstack
1134: /Arglist set /Argthis set /FunctionValue [ ] def
1135: [/this /a ] /ArgNames set ArgNames pushVariables [ %%function body
1136: [Argthis] Arglist join ArgNames mapset
1137: a (0).. eq
1138: %% if-condition
1139: { %%ifbody
1140: [(QuoteMode) 0] system_variable }%%end if if body
1141: { %%if- else part
1142: [(QuoteMode) 1] system_variable } ifelse
1143: /ExitPoint ]pop popVariables %%pop argValues
1.7 takayama 1144: db.DebugStack setstack pop stdstack
1145: } def
1146: %%end of function
1147:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>