Description
Add each phase day to its supplied origin using exact integer arithmetic, return both absolute coordinates and second-minus-first as decimal strings, and test divisibility of the difference by cycle length.
Research cycle labels are coordinates on a chosen timeline. Comparing phase days requires a common origin and cycle length; agreement modulo a fixed cycle is an arithmetic relationship, not evidence of a physiological phase.
Add each phase day to its supplied origin using exact integer arithmetic, return both absolute coordinates and second-minus-first as decimal strings, and test divisibility of the difference by cycle length.
When to use this tool
Use Cycle Phase Source Gap when you need to reconcile explicit research day labels without estimating ovulation or physiology.
How to use the tool and how it works
- Enter firstPhaseDay, secondPhaseDay, firstOriginDay, secondOriginDay, suppliedCycleLength. Use the units and conventions below.
- Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
- Read absoluteFirstDecimal, absoluteSecondDecimal, signedDifferenceDecimal, sameModuloPhase. Inspect sameModuloPhase before interpreting the associated values.
Require positive integer suppliedCycleLength. Add each phase day to its supplied origin using exact integer arithmetic, return both absolute coordinates and second-minus-first as decimal strings, and test divisibility of the difference by cycle length.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| firstPhaseDay | First Phase Day | Required. Safe integer. |
| secondPhaseDay | Second Phase Day | Required. Safe integer. |
| firstOriginDay | First Origin Day | Required. Safe integer. |
| secondOriginDay | Second Origin Day | Required. Safe integer. |
| suppliedCycleLength | Supplied Cycle Length | Required. Safe integer; minimum 1. |
| Output field | Interpretation | Returned shape |
|---|---|---|
| absoluteFirstDecimal | Exact origin-plus-phase integer exported as decimal text. | Required. Text; maximum UTF-16 length 8192. |
| absoluteSecondDecimal | Exact second origin-plus-phase integer exported as decimal text. | Required. Text; maximum UTF-16 length 8192. |
| signedDifferenceDecimal | Exact signed difference in the subtraction order above. | Required. Text; maximum UTF-16 length 8192. |
| sameModuloPhase | Whether both absolute day coordinates have equal phase modulo the supplied positive cycle length. | Required. Boolean. |
{
"input": {
"firstPhaseDay": 2,
"secondPhaseDay": 3,
"firstOriginDay": 10,
"secondOriginDay": 9,
"suppliedCycleLength": 28
},
"output": {
"absoluteFirstDecimal": "12",
"absoluteSecondDecimal": "12",
"signedDifferenceDecimal": "0",
"sameModuloPhase": true
}
} Limitations and assumptions
- Modulo agreement uses a supplied cycle model rather than an observed biological phase; no fertility, ovulation, pregnancy, normal-cycle range, or clinical interpretation is inferred.
- Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
- Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.
Alternative or Complementary methods
For a study dataset, reconcile source records and day-origin conventions first. Physiological interpretation requires an appropriate clinical or research method rather than fixed-cycle arithmetic.
References
Similar or alternative tools
- Cycle Diary Gap Closure Token
Test day against the gap using independent previous-end and next-start inclusion flags.
- Cycle Anchor Relative Day
Compute observedDay-anchorDay+origin with exact integer intermediates and export relativeDay under its numeric contract.