TamaraThe specification

TCS taxonomy v0.8

Riffle Shuffle

Experimental: structure may change in a subsequent edition. This page is pinned to v0.8.

Interleave two packets, each keeping its relative order

Source fragment

The following is documentation data, not a standalone document or validation schema. Resolve references against the original source schema.

{
  "id": "riffle-shuffle",
  "description": "Interleave two packets, each keeping its relative order",
  "labels": {
    "en": "Riffle Shuffle",
    "es": "Barajada Riffle",
    "fr": "Mélange Riffle",
    "de": "Riffle-Mischen"
  },
  "family_ref": "true-shuffles",
  "action_contract": {
    "parameters": {
      "cut_point": {
        "required": false,
        "description": "The size of the top portion interleaved; unspecified unions over every division",
        "domain": "integer >= 1",
        "default": "unspecified"
      }
    },
    "post_state_invariant": "target's top portion (cut_point cards, or an unstated size) and bottom portion interleave in arbitrary clumps; each portion keeps its own relative order.",
    "post_state": {
      "state_schema_ref": "https://tamaraspec.org/schema/tcs-playing-cards-state-0.1.json",
      "effects": [
        {
          "op": "permute",
          "subject": "target",
          "permutation": "riffle",
          "args": {
            "cut_point": {
              "param": "cut_point"
            }
          }
        }
      ]
    }
  }
}

Verbatim JSON · Source: schemas/tcs-taxonomy-0.8.json/verbs/riffle-shuffle

See also