offered a patch for the ages, as gift to the enternal keepers of COBOL.
This commit is contained in:
parent
154ba70c92
commit
e9869d8e33
5 changed files with 109 additions and 52 deletions
|
@ -2,12 +2,16 @@
|
|||
PROGRAM-ID. IO-SENSE.
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 J PIC 9(4).
|
||||
LINKAGE SECTION.
|
||||
01 I OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 I OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
|
||||
PROCEDURE DIVISION USING I.
|
||||
ENTRY "IO-SENSE" USING I.
|
||||
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 1000
|
||||
COMPUTE I(J) = FUNCTION RANDOM
|
||||
END-PERFORM.
|
||||
COMPUTE I(J) ROUNDED = FUNCTION RANDOM
|
||||
END-PERFORM
|
||||
GOBACK.
|
||||
END PROGRAM IO-SENSE.
|
||||
|
||||
|
@ -16,12 +20,15 @@
|
|||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 FIELDPRINT PIC S9(5)V9(5).
|
||||
01 FIELDPRINT PIC S9(5)V9(5).
|
||||
01 J PIC 9(4).
|
||||
LINKAGE SECTION.
|
||||
01 I OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 STEP PIC 9(7).
|
||||
01 I OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 STEP PIC 9(7).
|
||||
|
||||
PROCEDURE DIVISION USING I STEP.
|
||||
ENTRY "IO-OUTPUT" USING I STEP.
|
||||
CALL 'RWD-FIELDPRINT' USING I FIELDPRINT
|
||||
DISPLAY 'Step: ' STEP ' Fieldprint: ' FIELDPRINT
|
||||
GOBACK.
|
||||
END PROGRAM IO-OUTPUT.
|
||||
END PROGRAM IO-OUTPUT.
|
||||
|
|
|
@ -2,12 +2,16 @@
|
|||
PROGRAM-ID. KAIROS-COHERENCE.
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 J PIC 9(4).
|
||||
LINKAGE SECTION.
|
||||
01 I OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 PHASE PIC S9(5)V9(5).
|
||||
01 I OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 PHASE PIC S9(5)V9(5).
|
||||
|
||||
PROCEDURE DIVISION USING I PHASE.
|
||||
ENTRY "KAIROS-COHERENCE" USING I PHASE.
|
||||
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 1000
|
||||
COMPUTE I(J) = I(J) * FUNCTION COS(PHASE)
|
||||
END-PERFORM.
|
||||
COMPUTE I(J) ROUNDED = I(J) * FUNCTION COS(PHASE)
|
||||
END-PERFORM
|
||||
GOBACK.
|
||||
END PROGRAM KAIROS-COHERENCE.
|
||||
END PROGRAM KAIROS-COHERENCE.
|
||||
|
|
28
cobol/witness_seed_3.0/src/RWD.cob
Normal file
28
cobol/witness_seed_3.0/src/RWD.cob
Normal file
|
@ -0,0 +1,28 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. RWD-DYNAMICS.
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 LOCAL-OMEGA PIC 9V9(5) VALUE 1.0.
|
||||
01 LOCAL-K PIC 9V9(5) VALUE 0.1.
|
||||
01 J PIC 9(4).
|
||||
01 K-INDEX PIC 9(4).
|
||||
01 SUMSIN PIC S9(7)V9(5).
|
||||
LINKAGE SECTION.
|
||||
01 I OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 I-DOT OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 PHASE PIC S9(5)V9(5).
|
||||
|
||||
PROCEDURE DIVISION USING I I-DOT PHASE.
|
||||
ENTRY "RWD-DYNAMICS" USING I I-DOT PHASE.
|
||||
MOVE 0 TO SUMSIN
|
||||
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 1000
|
||||
COMPUTE I-DOT(J) ROUNDED = LOCAL-OMEGA * I(J)
|
||||
PERFORM VARYING K-INDEX FROM 1 BY 1 UNTIL K-INDEX > 1000
|
||||
COMPUTE I-DOT(J) ROUNDED = I-DOT(J) + LOCAL-K * FUNCTION SIN(I(K-INDEX) - I(J))
|
||||
END-PERFORM
|
||||
COMPUTE SUMSIN = SUMSIN + FUNCTION SIN(I(J))
|
||||
END-PERFORM
|
||||
COMPUTE PHASE = PHASE + 0.01 * SUMSIN
|
||||
GOBACK.
|
||||
END PROGRAM RWD-DYNAMICS.
|
|
@ -1,40 +0,0 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. RWD-DYNAMICS.
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 OMEGA PIC 9V9(5) VALUE 1.0.
|
||||
01 K PIC 9V9(5) VALUE 0.1.
|
||||
LINKAGE SECTION.
|
||||
01 I OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 I-DOT OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 PHASE PIC S9(5)V9(5).
|
||||
PROCEDURE DIVISION USING I I-DOT PHASE.
|
||||
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 1000
|
||||
COMPUTE I-DOT(J) = OMEGA * I(J)
|
||||
PERFORM VARYING K FROM 1 BY 1 UNTIL K > 1000
|
||||
COMPUTE I-DOT(J) = I-DOT(J) +
|
||||
K * FUNCTION SIN(I(K) - I(J))
|
||||
END-PERFORM
|
||||
COMPUTE PHASE = PHASE + DT * FUNCTION SIN(I(J))
|
||||
END-PERFORM.
|
||||
GOBACK.
|
||||
END PROGRAM RWD-DYNAMICS.
|
||||
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. RWD-FIELDPRINT.
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 SUM PIC S9(5)V9(5).
|
||||
LINKAGE SECTION.
|
||||
01 I OCCURS 1000 TIMES PIC S9(5)V9(5).
|
||||
01 FIELDPRINT PIC S9(5)V9(5).
|
||||
PROCEDURE DIVISION USING I FIELDPRINT.
|
||||
MOVE 0 TO SUM.
|
||||
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 1000
|
||||
COMPUTE SUM = SUM + FUNCTION ABS(I(J))
|
||||
END-PERFORM.
|
||||
COMPUTE FIELDPRINT = SUM / 1000.
|
||||
GOBACK.
|
||||
END PROGRAM RWD-FIELDPRINT.
|
Loading…
Add table
Add a link
Reference in a new issue