<> <> <> <> <> <<>> DIRECTORY PiecewiseFit, Seq, Complex, Rope, LSPieceExtras, Cubic2; PiecewiseFitExtras: CEDAR DEFINITIONS = BEGIN JointTanRec: TYPE = RECORD[index: NAT, tanIn, tanOut: Complex.VEC _ [0,0]]; JointTanSeqRec: TYPE = RECORD[element: SEQUENCE length:NAT OF JointTanRec]; JointTanSequence: TYPE = REF JointTanSeqRec; Data: TYPE = REF DataRec; DataRec: TYPE = PiecewiseFit.DataRec; Metrics: TYPE = LSPieceExtras.Metrics; Cubic2Proc: TYPE = PiecewiseFit.Cubic2Proc; TangentProc: TYPE = PiecewiseFit.TangentProc; GrowSpline2: PROC [data: Data, realLength: NAT, metrics: Metrics, outputCubic2: Cubic2Proc, tangent: TangentProc, debug: BOOL _ FALSE, hilight: Cubic2Proc _ NIL]; <> DynSpline2: PUBLIC PROC [data: Data, realLength: NAT, metrics: Metrics, penalty: REAL, trim: BOOL _ TRUE, outputCubic2: Cubic2Proc, tangent: TangentProc, debug: BOOL _ FALSE, hilight: Cubic2Proc _ NIL]; <> AdaptiveFit2: PROC [data: Data, from, thru: NAT, initFree, finalFree: BOOL _ TRUE, metrics: Metrics, outputCubic2: Cubic2Proc, tangent: TangentProc, debug: BOOL _ FALSE, hilight: Cubic2Proc]; <> IterFit: PROC [data: Data, from, thru: NAT, initFree, finalFree: BOOL _ TRUE, metrics: Metrics, outputCubic2: Cubic2Proc, tangent: TangentProc, debug: BOOL _ FALSE, hilight: Cubic2Proc _ NIL, earlyBreak: BOOL _ TRUE, useMaxDev: BOOL _ TRUE, joints: JointTanSequence _ NIL]; ChunkGrow: PUBLIC PROC [data: Data, realLength: NAT, metrics: Metrics, outputCubic2: Cubic2Proc, tangent: TangentProc, debug: BOOL _ FALSE, hilight: Cubic2Proc _ NIL]; <> FitPieceInterp2: PROC [z: Seq.ComplexSequence, t: Seq.RealSequence _ NIL, from, thru: NAT, metrics: Metrics, initFree, finalFree: BOOL _ FALSE, initTangent, finalTangent: Complex.VEC _ [0,0], useOldTValues: BOOL _ FALSE] RETURNS [b: Cubic2.Bezier, err: REAL, iterations: NAT, maxDev: REAL, indexOfMaxDev: NAT]; <> END.