Freeze SmoothLife model contract and fixtures

This commit is contained in:
2026-07-14 18:26:55 +02:00
parent 51cff7b0f3
commit d587f542eb
25 changed files with 30612 additions and 38 deletions

657
tests/fixtures/contract/indexing.json vendored Normal file
View File

@@ -0,0 +1,657 @@
{
"format_version": 1,
"description": "Canonical x-fast indexing, inverse indexing, wrapping, and signed even offsets.",
"shapes": [
{
"shape": [
8
],
"x_fast_formula": "x + Nx*(y + Ny*z) (truncated to rank)",
"entries": [
{
"coords": [
0
],
"index": 0
},
{
"coords": [
1
],
"index": 1
},
{
"coords": [
2
],
"index": 2
},
{
"coords": [
3
],
"index": 3
},
{
"coords": [
4
],
"index": 4
},
{
"coords": [
5
],
"index": 5
},
{
"coords": [
6
],
"index": 6
},
{
"coords": [
7
],
"index": 7
}
],
"inverse": [
[
0
],
[
1
],
[
2
],
[
3
],
[
4
],
[
5
],
[
6
],
[
7
]
]
},
{
"shape": [
5,
3
],
"x_fast_formula": "x + Nx*(y + Ny*z) (truncated to rank)",
"entries": [
{
"coords": [
0,
0
],
"index": 0
},
{
"coords": [
1,
0
],
"index": 1
},
{
"coords": [
2,
0
],
"index": 2
},
{
"coords": [
3,
0
],
"index": 3
},
{
"coords": [
4,
0
],
"index": 4
},
{
"coords": [
0,
1
],
"index": 5
},
{
"coords": [
1,
1
],
"index": 6
},
{
"coords": [
2,
1
],
"index": 7
},
{
"coords": [
3,
1
],
"index": 8
},
{
"coords": [
4,
1
],
"index": 9
},
{
"coords": [
0,
2
],
"index": 10
},
{
"coords": [
1,
2
],
"index": 11
},
{
"coords": [
2,
2
],
"index": 12
},
{
"coords": [
3,
2
],
"index": 13
},
{
"coords": [
4,
2
],
"index": 14
}
],
"inverse": [
[
0,
0
],
[
1,
0
],
[
2,
0
],
[
3,
0
],
[
4,
0
],
[
0,
1
],
[
1,
1
],
[
2,
1
],
[
3,
1
],
[
4,
1
],
[
0,
2
],
[
1,
2
],
[
2,
2
],
[
3,
2
],
[
4,
2
]
]
},
{
"shape": [
4,
3,
2
],
"x_fast_formula": "x + Nx*(y + Ny*z) (truncated to rank)",
"entries": [
{
"coords": [
0,
0,
0
],
"index": 0
},
{
"coords": [
1,
0,
0
],
"index": 1
},
{
"coords": [
2,
0,
0
],
"index": 2
},
{
"coords": [
3,
0,
0
],
"index": 3
},
{
"coords": [
0,
1,
0
],
"index": 4
},
{
"coords": [
1,
1,
0
],
"index": 5
},
{
"coords": [
2,
1,
0
],
"index": 6
},
{
"coords": [
3,
1,
0
],
"index": 7
},
{
"coords": [
0,
2,
0
],
"index": 8
},
{
"coords": [
1,
2,
0
],
"index": 9
},
{
"coords": [
2,
2,
0
],
"index": 10
},
{
"coords": [
3,
2,
0
],
"index": 11
},
{
"coords": [
0,
0,
1
],
"index": 12
},
{
"coords": [
1,
0,
1
],
"index": 13
},
{
"coords": [
2,
0,
1
],
"index": 14
},
{
"coords": [
3,
0,
1
],
"index": 15
},
{
"coords": [
0,
1,
1
],
"index": 16
},
{
"coords": [
1,
1,
1
],
"index": 17
},
{
"coords": [
2,
1,
1
],
"index": 18
},
{
"coords": [
3,
1,
1
],
"index": 19
},
{
"coords": [
0,
2,
1
],
"index": 20
},
{
"coords": [
1,
2,
1
],
"index": 21
},
{
"coords": [
2,
2,
1
],
"index": 22
},
{
"coords": [
3,
2,
1
],
"index": 23
}
],
"inverse": [
[
0,
0,
0
],
[
1,
0,
0
],
[
2,
0,
0
],
[
3,
0,
0
],
[
0,
1,
0
],
[
1,
1,
0
],
[
2,
1,
0
],
[
3,
1,
0
],
[
0,
2,
0
],
[
1,
2,
0
],
[
2,
2,
0
],
[
3,
2,
0
],
[
0,
0,
1
],
[
1,
0,
1
],
[
2,
0,
1
],
[
3,
0,
1
],
[
0,
1,
1
],
[
1,
1,
1
],
[
2,
1,
1
],
[
3,
1,
1
],
[
0,
2,
1
],
[
1,
2,
1
],
[
2,
2,
1
],
[
3,
2,
1
]
]
}
],
"signed_offsets": [
{
"extent": 2,
"values": [
0,
-1
]
},
{
"extent": 4,
"values": [
0,
1,
-2,
-1
]
},
{
"extent": 6,
"values": [
0,
1,
2,
-3,
-2,
-1
]
},
{
"extent": 8,
"values": [
0,
1,
2,
3,
-4,
-3,
-2,
-1
]
}
],
"wrap_examples": [
{
"value": -9,
"extent": 8,
"wrapped": 7
},
{
"value": -1,
"extent": 8,
"wrapped": 7
},
{
"value": 8,
"extent": 8,
"wrapped": 0
},
{
"value": 17,
"extent": 8,
"wrapped": 1
},
{
"value": -7,
"extent": 6,
"wrapped": 5
}
]
}