The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
library(weaveCompare)
a <- outer(0:3, 0:3, function(i,j) as.integer((i-j) %% 4 < 2))
b <- shift_drawdown(a, 2, 1)
c <- a; c[1,1] <- 1-c[1,1]
compare_drawdowns(a,b)[1:7]## $distance
## [1] 0
##
## $similarity
## [1] 1
##
## $equivalent
## [1] TRUE
##
## $transformation
## [1] "identity"
##
## $row_shift
## [1] 0
##
## $col_shift
## [1] 1
##
## $domain
## [1] 4 4
## draft group representative key
## 1 twill 1 twill 4x4:0011100111000110
## 2 shifted 1 twill 4x4:0011100111000110
## 3 edited 2 edited 4x4:0001110001100011
## twill shifted edited
## twill 0.0000 0.0000 0.0625
## shifted 0.0000 0.0000 0.0625
## edited 0.0625 0.0625 0.0000
Distance is the fraction of mismatched binary interlacements after optimal phase alignment on a common periodic domain. A zero distance means exact equivalence under the chosen rules, including repeated copies of a smaller unit. Similarity is one minus distance; it is not a probability.
Rows represent picks; columns represent warp ends. All drafts must use the same viewing and bit conventions. Whole rectangular repeats are assumed. Cyclic comparison treats opposite edges as adjacent, which is inappropriate for nonperiodic borders or incomplete motifs.
Reflections, axis exchange and bit inversion are disabled by default because they may erase meaningful directional or face distinctions. Enable them only when your scientific question permits those equivalences. Bit-preserving transpose is an algebraic operation, not automatic physical yarn relabelling.
Canonical strings encode exact bits and dimensions without hash collisions. Pairwise distances tile primitive repeats to axis-wise least common multiples; no stretching, interpolation or nearest-neighbour resizing occurs. Exhaustive candidate search is guarded by a cell-operation budget.
For WIF files, use weaveDraft::weave_draft_from_wif() and pass its returned object to these functions after checking orientation. No WIF parsing is done here. For independent validation, compare synthetic known-answer cases and separately permitted software exports. Current examples do not establish performance on community weaving collections or cultural identity.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.