QEtaComputationReductionCategory(F, AB)ΒΆ
qetasamba.spad line 326 [edit on github]
QEtaComputationReductionCategory lists the functions that are necessary to provide as reduction functions in a QEtaComputation.
- noTrace: F -> Void
- A function that does nothing. 
- noTraceEnter: (F, AB) -> Void
- A functions that does nothing. 
- reduce: (F, AB) -> F
- reduce(u, ab)returns tracedReduce(noTraceEnter,noTrace,noTrace).
- topReducible?: (F, F, F) -> Boolean
- topReducible?(u, b, t)returns- trueiff there exists- fin- Fand- e>=0such that v=u-f*b*t^e is (in a certain noetherian sense) smaller than- u.
- tracedReduce: ((F, AB) -> Void, F -> Void, F -> Void) -> (F, AB) -> F
- tracedReduce(traceEnter, traceLoop, traceReturn)(- u, ab) returns an element- vsuch that- vis not reducible modulo ab. For tracing purposes several functions can be provided that are called at enter and exit time (functions- traceEnter(- u, ab) and traceReturn(- w) where- wis the value that will be returned). Inside the internal while loop the function- traceLoop(- v) is called with- vbeing the intermediately reduced- u. These hooks are provided to print a trace of the reduction.
- traceEnter: NonNegativeInteger -> (F, AB) -> Void
- traceEnter(n)(- x, a) returns void() and depending on the value of- nreturns more and more information. Where a higer version of- nmeans more information. trace(0) is equivalent with noTraceEnter.
- traceLoop: NonNegativeInteger -> F -> Void
- traceLoop(n)(- x) just returns void() without any side effect and depending on the value of- nreturns more and more information. Where a higer version of- nmeans more information. trace(0) is equivalent with noTraceElement.
- traceReturn: NonNegativeInteger -> F -> Void
- traceReturn(n)(- x) just returns void() without any side effect and depending on the value of- nreturns more and more information. Where a higher version of- nmeans more information. trace(0) is equivalent with noTraceElement.