<> <<>> DIRECTORY Rope, IO, AlgebraClasses, Variables, QETypes, Graphs; QEIO: CEDAR DEFINITIONS ~ BEGIN OPEN AC: AlgebraClasses, VARS: Variables, QET: QETypes; <> ReadCad: PROC [in: IO.STREAM] RETURNS [out: QET.Cad]; CadFromRope: PROC [in: Rope.ROPE] RETURNS [out: QET.Cad]; CadToRope: PROC [in: QET.Cad] RETURNS [out: Rope.ROPE]; <<>> WriteCad: PROC [in: QET.Cad, out: IO.STREAM]; GetInducedCad: PROC [inCad: QET.Cad, dimension: CARDINAL] RETURNS [outCad: QET.Cad]; cadVertexClass: Graphs.VertexClass; cadGraphClass: Graphs.GraphClass; CadEnumerateVertices: Graphs.EnumerateVerticesProc; CellExpand: Graphs.ExpandProc; <> ReadSignedRegion: PROC [in: IO.STREAM, cellIndexStructure, inputPolynomialRing, minPolyRing, signatureStructure: AC.Structure] RETURNS [out: QET.SignedRegion]; SignedRegionFromRope: PROC [in: Rope.ROPE, cellIndexStructure, inputPolynomialRing, minPolyRing, signatureStructure: AC.Structure] RETURNS [out: QET.SignedRegion]; SignedRegionToRope: PROC [in: QET.SignedRegion] RETURNS [out: Rope.ROPE]; WriteSignedRegion: PROC [in: QET.SignedRegion, out: IO.STREAM]; ReadSignedRegionSeq: PROC [in: IO.STREAM, cellIndexStructure, inputPolynomialRing, minPolyRing, signatureStructure: AC.Structure] RETURNS [clusters: QET.SignedRegionSeq, termToken: Rope.ROPE]; <> SignedRegionSeqFromRope: PROC [in: Rope.ROPE, cellIndexStructure, inputPolynomialRing, minPolyRing, signatureStructure: AC.Structure] RETURNS [regions: QET.SignedRegionSeq]; SignedRegionSeqToRope: PROC [in: QET.SignedRegionSeq] RETURNS [out: Rope.ROPE]; WriteSignedRegionSeq: PROC [in: QET.SignedRegionSeq, out: IO.STREAM]; <> ReadCell: PROC [in: IO.STREAM, cellIndexStructure, inputPolynomialRing, inputSignatureStructure, minPolyRing, formulaAlgebra: AC.Structure] RETURNS [out: QET.Cell, termToken: Rope.ROPE]; <<>> CellFromRope: PROC [in: Rope.ROPE, cellIndexStructure, inputPolynomialRing, inputSignatureStructure, minPolyRing, formulaAlgebra: AC.Structure] RETURNS [out: QET.Cell, termToken: Rope.ROPE]; CellToRope: PROC [in: QET.Cell] RETURNS [out: Rope.ROPE]; WriteCell: PROC [in: QET.Cell, out: IO.STREAM]; LookupCell: PROC [cells: QET.CellSeq, index: QET.CellIndex] RETURNS [QET.Cell]; <> <<>> ReadCellSeq: PROC [in: IO.STREAM, cellIndexStructure, inputPolynomialRing, inputSignatureStructure, minPolyRing, formulaAlgebra: AC.Structure] RETURNS [cells: QET.CellSeq, termToken: Rope.ROPE]; <> CellSeqFromRope: PROC [in: Rope.ROPE, cellIndexStructure, inputPolynomialRing, inputSignatureStructure, minPolyRing, formulaAlgebra: AC.Structure] RETURNS [out: QET.CellSeq]; CellSeqToRope: PROC [in: QET.CellSeq] RETURNS [out: Rope.ROPE]; WriteCellSeq: PROC [in: QET.CellSeq, out: IO.STREAM]; <> ReadCellIndex: PROC [in: IO.STREAM, cellIndexStructure: AC.Structure] RETURNS [out: QET.CellIndex]; CellIndexFromRope: PROC [in: Rope.ROPE, cellIndexStructure: AC.Structure] RETURNS [out: QET.CellIndex]; CellIndexToRope: PROC [in: QET.CellIndex] RETURNS [out: Rope.ROPE]; WriteCellIndex: PROC [in: QET.CellIndex, out: IO.STREAM]; CellIndexEqual: PROC [in1, in2: QET.CellIndex]RETURNS [BOOL]; <> CellDimension: PROC [in: QET.CellIndex] RETURNS [dimension: CARDINAL]; ReadCellIndexSeq: PROC [in: IO.STREAM, cellIndexStructure: AC.Structure] RETURNS [out: QET.CellIndexSeq]; CellIndexSeqFromRope: PROC [in: Rope.ROPE, cellIndexStructure: AC.Structure] RETURNS [out: QET.CellIndexSeq]; CellIndexSeqToRope: PROC [in: QET.CellIndexSeq] RETURNS [out: Rope.ROPE]; WriteCellIndexSeq: PROC [in: QET.CellIndexSeq, out: IO.STREAM]; <> ReadSignature: PROC [in: IO.STREAM, signatureStructure: AC.Structure] RETURNS [out: QET.Signature]; SignatureToRope: PROC [in: QET.Signature] RETURNS [out: Rope.ROPE]; <> ReadSamplePoint: PROC [in: IO.STREAM, inputPolynomialRing, minPolyRing: AC.Structure] RETURNS [out: QET.SamplePoint]; SamplePointToRope: PROC [in: QET.SamplePoint] RETURNS [out: Rope.ROPE]; <> ReadAdjacencies: PROC [in: IO.STREAM, cad: QET.Cad]; <<"BEGINADJACENCIES", followed by a list of pairs of cell indices (each pair enclosed in parentheses, comma between), followed by "ENDADJACENCIES".>> <> AdjacenciesFromRope: PROC [in: Rope.ROPE, cad: QET.Cad]; ReadAdjacency: PROC [in: IO.STREAM, cellIndexStructure: AC.Structure, cells: QET.CellSeq]; CellAdjacenciesToRope: PROC [in: QET.Cell] RETURNS [out: Rope.ROPE]; <> CadAdjacenciesToRope: PROC [in: QET.Cad] RETURNS [out: Rope.ROPE]; WriteCadAdjacencies: PROC [in: QET.Cad, out: IO.STREAM]; <> ReadCoveringSets: PROC [in: IO.STREAM, cad: QET.Cad]; <> ReadCellCoveringSet: PROC [in: IO.STREAM, dimension: CARDINAL] RETURNS [out: QET.CoveringSet]; <> CoveringSetsFromRope: PROC [in: Rope.ROPE, cad: QET.Cad]; <> CellCoveringSetToRope: PROC [in: QET.Cell] RETURNS [out: Rope.ROPE]; <> <<>> CadCoveringSetsToRope: PROC [in: QET.Cad] RETURNS [out: Rope.ROPE]; <> <<>> WriteCadCoveringSets: PROC [in: QET.Cad, out: IO.STREAM]; <<>> CoveringSetSize: PROC [in: QET.CoveringSet] RETURNS [size: CARDINAL]; <> CountTriangles: PROC [in: QET.CoveringSet] RETURNS [number: CARDINAL]; <> GenerateTriangles: PROC [in: QET.CoveringSet] RETURNS [out: QET.TriangleSeq]; <> CoveringSetToThreeDWorldRope: PROC [in: QET.CoveringSet] RETURNS [out: Rope.ROPE]; <> GenerateThreeDWorldTrianglesRope: PROC [in: QET.CoveringSet] RETURNS [out: Rope.ROPE]; <> CellToThreeDWorldRope: PROC [in: QET.Cell] RETURNS [out: Rope.ROPE]; <> <> ReadCadFile: PROC [in: IO.STREAM] RETURNS [out: QET.Cad]; CadFileFromRope: PROC [in: Rope.ROPE] RETURNS [out: QET.Cad]; CadFileToRope: PROC [in: QET.Cad] RETURNS [out: Rope.ROPE]; WriteCadFile: PROC [in: QET.Cad, out: IO.STREAM]; END.