[{"data":1,"prerenderedAt":1409},["ShallowReactive",2],{"navigation":3,"\u002Fapi\u002Fpython\u002Fptwm\u002Fpreprocessing":864,"\u002Fapi\u002Fpython\u002Fptwm\u002Fpreprocessing-surround":1404},[4,8,168,206,852,856,860],{"title":5,"path":6,"stem":7},"Quickstart","\u002Fquickstart","01.quickstart",{"title":9,"path":10,"stem":11,"children":12},"Concepts","\u002Fconcepts","20.concepts",[13,15,19,23,84,88,92,96,100],{"title":9,"path":10,"stem":14},"20.concepts\u002Findex",{"title":16,"path":17,"stem":18},"Preprocessing Graph","\u002Fconcepts\u002Fppg","20.concepts\u002F2.ppg",{"title":20,"path":21,"stem":22},"Plane decomposition","\u002Fconcepts\u002Fplanes","20.concepts\u002F3.planes",{"title":24,"path":25,"stem":26,"children":27},"Codecs","\u002Fconcepts\u002Fcodecs","20.concepts\u002F4.codecs",[28,32,36,40,44,48,52,56,60,64,68,72,76,80],{"title":29,"path":30,"stem":31},"Arithmetic","\u002Fconcepts\u002Fcodecs\u002Farithmetic","20.concepts\u002Fcodecs\u002Farithmetic",{"title":33,"path":34,"stem":35},"Context Mixing Lite","\u002Fconcepts\u002Fcodecs\u002Fcontext-mixing-lite","20.concepts\u002Fcodecs\u002Fcontext-mixing-lite",{"title":37,"path":38,"stem":39},"FPC","\u002Fconcepts\u002Fcodecs\u002Ffpc","20.concepts\u002Fcodecs\u002Ffpc",{"title":41,"path":42,"stem":43},"Huffman LLM 5-Bit","\u002Fconcepts\u002Fcodecs\u002Fhuff-llm","20.concepts\u002Fcodecs\u002Fhuff-llm",{"title":45,"path":46,"stem":47},"Huffman","\u002Fconcepts\u002Fcodecs\u002Fhuffman","20.concepts\u002Fcodecs\u002Fhuffman",{"title":49,"path":50,"stem":51},"Identity","\u002Fconcepts\u002Fcodecs\u002Fidentity","20.concepts\u002Fcodecs\u002Fidentity",{"title":53,"path":54,"stem":55},"Neural Predictor","\u002Fconcepts\u002Fcodecs\u002Fneural-predictor","20.concepts\u002Fcodecs\u002Fneural-predictor",{"title":57,"path":58,"stem":59},"Order-1 Arithmetic","\u002Fconcepts\u002Fcodecs\u002Forder1-arithmetic","20.concepts\u002Fcodecs\u002Forder1-arithmetic",{"title":61,"path":62,"stem":63},"Order-1 Scale AC","\u002Fconcepts\u002Fcodecs\u002Forder1-scale-ac","20.concepts\u002Fcodecs\u002Forder1-scale-ac",{"title":65,"path":66,"stem":67},"Per-Group Codebook","\u002Fconcepts\u002Fcodecs\u002Fper-group-codebook","20.concepts\u002Fcodecs\u002Fper-group-codebook",{"title":69,"path":70,"stem":71},"rANS","\u002Fconcepts\u002Fcodecs\u002Frans","20.concepts\u002Fcodecs\u002Frans",{"title":73,"path":74,"stem":75},"tANS","\u002Fconcepts\u002Fcodecs\u002Ftans","20.concepts\u002Fcodecs\u002Ftans",{"title":77,"path":78,"stem":79},"Zstd","\u002Fconcepts\u002Fcodecs\u002Fzstd","20.concepts\u002Fcodecs\u002Fzstd",{"title":81,"path":82,"stem":83},"Zstd Dictionary","\u002Fconcepts\u002Fcodecs\u002Fzstd-dict","20.concepts\u002Fcodecs\u002Fzstd-dict",{"title":85,"path":86,"stem":87},"Container format","\u002Fconcepts\u002Fcontainer","20.concepts\u002F5.container",{"title":89,"path":90,"stem":91},"Delta compression","\u002Fconcepts\u002Fdelta","20.concepts\u002F6.delta",{"title":93,"path":94,"stem":95},"Extensibility","\u002Fconcepts\u002Fextensibility","20.concepts\u002F7.extensibility",{"title":24,"path":25,"stem":97,"children":98},"20.concepts\u002Fcodecs\u002Findex",[99],{"title":24,"path":25,"stem":97},{"title":101,"path":102,"stem":103,"children":104},"Transforms","\u002Fconcepts\u002Ftransforms","20.concepts\u002Ftransforms\u002Findex",[105,106,110,114,118,122,126,130,134,140,144,148,152,156,160,164],{"title":101,"path":102,"stem":103},{"title":107,"path":108,"stem":109},"Alpha-Stable Normalize","\u002Fconcepts\u002Ftransforms\u002Falpha-stable-normalize","20.concepts\u002Ftransforms\u002Falpha-stable-normalize",{"title":111,"path":112,"stem":113},"Bit Reorder","\u002Fconcepts\u002Ftransforms\u002Fbit-reorder","20.concepts\u002Ftransforms\u002Fbit-reorder",{"title":115,"path":116,"stem":117},"Block Microscaling Repack","\u002Fconcepts\u002Ftransforms\u002Fblock-microscaling-repack","20.concepts\u002Ftransforms\u002Fblock-microscaling-repack",{"title":119,"path":120,"stem":121},"Burrows-Wheeler","\u002Fconcepts\u002Ftransforms\u002Fburrows-wheeler","20.concepts\u002Ftransforms\u002Fburrows-wheeler",{"title":123,"path":124,"stem":125},"Byte Split & Nibble Split","\u002Fconcepts\u002Ftransforms\u002Fbyte-split","20.concepts\u002Ftransforms\u002Fbyte-split",{"title":127,"path":128,"stem":129},"Concat","\u002Fconcepts\u002Ftransforms\u002Fconcat","20.concepts\u002Ftransforms\u002Fconcat",{"title":131,"path":132,"stem":133},"Delta","\u002Fconcepts\u002Ftransforms\u002Fdelta","20.concepts\u002Ftransforms\u002Fdelta",{"title":135,"path":136,"stem":137,"children":138},"Index Bitwidth Pack","\u002Fconcepts\u002Ftransforms\u002Findex-bitwidth-pack","20.concepts\u002Ftransforms\u002Findex-bitwidth-pack",[139],{"title":135,"path":136,"stem":137},{"title":141,"path":142,"stem":143},"IntDelta","\u002Fconcepts\u002Ftransforms\u002Fint-delta","20.concepts\u002Ftransforms\u002Fint-delta",{"title":145,"path":146,"stem":147},"Mantissa Zero Strip","\u002Fconcepts\u002Ftransforms\u002Fmantissa-zero-strip","20.concepts\u002Ftransforms\u002Fmantissa-zero-strip",{"title":149,"path":150,"stem":151},"Move to Front","\u002Fconcepts\u002Ftransforms\u002Fmove-to-front","20.concepts\u002Ftransforms\u002Fmove-to-front",{"title":153,"path":154,"stem":155},"MxFp4 Deinterleave","\u002Fconcepts\u002Ftransforms\u002Fmxfp4-deinterleave","20.concepts\u002Ftransforms\u002Fmxfp4-deinterleave",{"title":157,"path":158,"stem":159},"Predictor XOR","\u002Fconcepts\u002Ftransforms\u002Fpredictor-xor","20.concepts\u002Ftransforms\u002Fpredictor-xor",{"title":161,"path":162,"stem":163},"Reshape","\u002Fconcepts\u002Ftransforms\u002Freshape","20.concepts\u002Ftransforms\u002Freshape",{"title":165,"path":166,"stem":167},"Spherical Normalize","\u002Fconcepts\u002Ftransforms\u002Fspherical-normalize","20.concepts\u002Ftransforms\u002Fspherical-normalize",{"title":169,"path":170,"stem":171,"children":172},"Guides","\u002Fguides","30.guides\u002F00.index",[173,174,178,182,186,190,194,198,202],{"title":169,"path":170,"stem":171},{"title":175,"path":176,"stem":177},"CLI usage","\u002Fguides\u002Fcli","30.guides\u002F01.cli",{"title":179,"path":180,"stem":181},"Python API","\u002Fguides\u002Fpython-api","30.guides\u002F02.python-api",{"title":183,"path":184,"stem":185},"Writing your first extension","\u002Fguides\u002Fextension-authoring","30.guides\u002F03.extension-authoring",{"title":187,"path":188,"stem":189},"Trust and security","\u002Fguides\u002Ftrust-and-security","30.guides\u002F04.trust-and-security",{"title":191,"path":192,"stem":193},"Random access","\u002Fguides\u002Frandom-access","30.guides\u002F10.random-access",{"title":195,"path":196,"stem":197},"Tuning","\u002Fguides\u002Ftuning","30.guides\u002F11.tuning",{"title":199,"path":200,"stem":201},"Safetensors","\u002Fguides\u002Fsafetensors","30.guides\u002F50.safetensors",{"title":203,"path":204,"stem":205},"Transformers","\u002Fguides\u002Ftransformers","30.guides\u002F51.transformers",{"title":207,"path":208,"stem":209,"children":210},"API reference","\u002Fapi","40.api",[211,330],{"title":179,"path":212,"stem":213,"children":214},"\u002Fapi\u002Fpython","api\u002Fpython\u002Findex",[215,216],{"title":179,"path":212,"stem":213},{"title":217,"path":218,"stem":219,"children":220},"ptwm","\u002Fapi\u002Fpython\u002Fptwm","api\u002Fpython\u002Fptwm",[221,225,229,270,274,278,282,286,307,311,315,319,323,327],{"title":222,"path":223,"stem":224},"ablation","\u002Fapi\u002Fpython\u002Fptwm\u002Fablation","api\u002Fpython\u002Fptwm\u002Fablation",{"title":226,"path":227,"stem":228},"classify","\u002Fapi\u002Fpython\u002Fptwm\u002Fclassify","api\u002Fpython\u002Fptwm\u002Fclassify",{"title":230,"path":231,"stem":232,"children":233},"cli","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli","api\u002Fpython\u002Fptwm\u002Fcli",[234,238,242,246,250,254,258,262,266],{"title":235,"path":236,"stem":237},"bench","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fbench","api\u002Fpython\u002Fptwm\u002Fcli\u002Fbench",{"title":239,"path":240,"stem":241},"chains","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fchains","api\u002Fpython\u002Fptwm\u002Fcli\u002Fchains",{"title":243,"path":244,"stem":245},"compress","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fcompress","api\u002Fpython\u002Fptwm\u002Fcli\u002Fcompress",{"title":247,"path":248,"stem":249},"decompress","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fdecompress","api\u002Fpython\u002Fptwm\u002Fcli\u002Fdecompress",{"title":251,"path":252,"stem":253},"ext","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fext","api\u002Fpython\u002Fptwm\u002Fcli\u002Fext",{"title":255,"path":256,"stem":257},"main","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fmain","api\u002Fpython\u002Fptwm\u002Fcli\u002Fmain",{"title":259,"path":260,"stem":261},"policy","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fpolicy","api\u002Fpython\u002Fptwm\u002Fcli\u002Fpolicy",{"title":263,"path":264,"stem":265},"trust","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Ftrust","api\u002Fpython\u002Fptwm\u002Fcli\u002Ftrust",{"title":267,"path":268,"stem":269},"utils","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Futils","api\u002Fpython\u002Fptwm\u002Fcli\u002Futils",{"title":271,"path":272,"stem":273},"codecs","\u002Fapi\u002Fpython\u002Fptwm\u002Fcodecs","api\u002Fpython\u002Fptwm\u002Fcodecs",{"title":275,"path":276,"stem":277},"core","\u002Fapi\u002Fpython\u002Fptwm\u002Fcore","api\u002Fpython\u002Fptwm\u002Fcore",{"title":279,"path":280,"stem":281},"delta","\u002Fapi\u002Fpython\u002Fptwm\u002Fdelta","api\u002Fpython\u002Fptwm\u002Fdelta",{"title":283,"path":284,"stem":285},"entropy","\u002Fapi\u002Fpython\u002Fptwm\u002Fentropy","api\u002Fpython\u002Fptwm\u002Fentropy",{"title":287,"path":288,"stem":289,"children":290},"ext_tooling","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling","api\u002Fpython\u002Fptwm\u002Fext_tooling",[291,295,299,303],{"title":292,"path":293,"stem":294},"build","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fbuild","api\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fbuild",{"title":296,"path":297,"stem":298},"init","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling\u002Finit","api\u002Fpython\u002Fptwm\u002Fext_tooling\u002Finit",{"title":300,"path":301,"stem":302},"pack","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fpack","api\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fpack",{"title":304,"path":305,"stem":306},"sign","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fsign","api\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fsign",{"title":308,"path":309,"stem":310},"integrations","\u002Fapi\u002Fpython\u002Fptwm\u002Fintegrations","api\u002Fpython\u002Fptwm\u002Fintegrations",{"title":312,"path":313,"stem":314},"preprocessing","\u002Fapi\u002Fpython\u002Fptwm\u002Fpreprocessing","api\u002Fpython\u002Fptwm\u002Fpreprocessing",{"title":316,"path":317,"stem":318},"random_access","\u002Fapi\u002Fpython\u002Fptwm\u002Frandom_access","api\u002Fpython\u002Fptwm\u002Frandom_access",{"title":320,"path":321,"stem":322},"sharding","\u002Fapi\u002Fpython\u002Fptwm\u002Fsharding","api\u002Fpython\u002Fptwm\u002Fsharding",{"title":324,"path":325,"stem":326},"stores","\u002Fapi\u002Fpython\u002Fptwm\u002Fstores","api\u002Fpython\u002Fptwm\u002Fstores",{"title":267,"path":328,"stem":329},"\u002Fapi\u002Fpython\u002Fptwm\u002Futils","api\u002Fpython\u002Fptwm\u002Futils",{"title":331,"path":332,"stem":333,"children":334},"Rust API","\u002Fapi\u002Frust","api\u002Frust\u002Findex",[335,336],{"title":331,"path":332,"stem":333},{"title":337,"path":338,"stem":339,"children":340},"ptwm_core","\u002Fapi\u002Frust\u002Fptwm_core","api\u002Frust\u002Fptwm_core",[341,366,370,374,434,438,442,445,449,452,456,518,522,565,569,598,602,608,633,637,641,645,665,669,673,677,681,702,706,714,811,835],{"title":342,"path":343,"stem":344,"children":345},"chain","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain","api\u002Frust\u002Fptwm_core\u002Fchain",[346,350,354,358,362],{"title":347,"path":348,"stem":349},"dispatch","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fdispatch","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fdispatch",{"title":351,"path":352,"stem":353},"graph","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fgraph","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fgraph",{"title":355,"path":356,"stem":357},"runtime","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fruntime","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fruntime",{"title":359,"path":360,"stem":361},"validate","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fvalidate","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fvalidate",{"title":363,"path":364,"stem":365},"wire","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fwire","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fwire",{"title":367,"path":368,"stem":369},"codec","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodec","api\u002Frust\u002Fptwm_core\u002Fcodec",{"title":371,"path":372,"stem":373},"codec_tagged","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodec_tagged","api\u002Frust\u002Fptwm_core\u002Fcodec_tagged",{"title":271,"path":375,"stem":376,"children":377},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs","api\u002Frust\u002Fptwm_core\u002Fcodecs",[378,382,386,390,394,398,402,406,410,414,418,422,426,430],{"title":379,"path":380,"stem":381},"arithmetic","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Farithmetic","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Farithmetic",{"title":383,"path":384,"stem":385},"context_mixing","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fcontext_mixing","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fcontext_mixing",{"title":387,"path":388,"stem":389},"fpc","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Ffpc","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Ffpc",{"title":391,"path":392,"stem":393},"huff_llm","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fhuff_llm","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fhuff_llm",{"title":395,"path":396,"stem":397},"huffman","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fhuffman","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fhuffman",{"title":399,"path":400,"stem":401},"identity","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fidentity","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fidentity",{"title":403,"path":404,"stem":405},"neural_predictor","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fneural_predictor","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fneural_predictor",{"title":407,"path":408,"stem":409},"order1_arithmetic","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Forder1_arithmetic","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Forder1_arithmetic",{"title":411,"path":412,"stem":413},"order1_scale_ac","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Forder1_scale_ac","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Forder1_scale_ac",{"title":415,"path":416,"stem":417},"per_group_codebook","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fper_group_codebook","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fper_group_codebook",{"title":419,"path":420,"stem":421},"rans","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Frans","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Frans",{"title":423,"path":424,"stem":425},"tans","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Ftans","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Ftans",{"title":427,"path":428,"stem":429},"zstd","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fzstd","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fzstd",{"title":431,"path":432,"stem":433},"zstd_dict","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fzstd_dict","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fzstd_dict",{"title":435,"path":436,"stem":437},"compressor","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcompressor","api\u002Frust\u002Fptwm_core\u002Fcompressor",{"title":439,"path":440,"stem":441},"container","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcontainer","api\u002Frust\u002Fptwm_core\u002Fcontainer",{"title":279,"path":443,"stem":444},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fdelta","api\u002Frust\u002Fptwm_core\u002Fdelta",{"title":446,"path":447,"stem":448},"discovery","\u002Fapi\u002Frust\u002Fptwm_core\u002Fdiscovery","api\u002Frust\u002Fptwm_core\u002Fdiscovery",{"title":347,"path":450,"stem":451},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fdispatch","api\u002Frust\u002Fptwm_core\u002Fdispatch",{"title":453,"path":454,"stem":455},"dtype","\u002Fapi\u002Frust\u002Fptwm_core\u002Fdtype","api\u002Frust\u002Fptwm_core\u002Fdtype",{"title":283,"path":457,"stem":458,"children":459},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy","api\u002Frust\u002Fptwm_core\u002Fentropy",[460,468,487,490,493,504,508,511,515],{"title":379,"path":461,"stem":462,"children":463},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Farithmetic","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Farithmetic",[464],{"title":465,"path":466,"stem":467},"model","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Farithmetic\u002Fmodel","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Farithmetic\u002Fmodel",{"title":383,"path":469,"stem":470,"children":471},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing",[472,476,480,483],{"title":473,"path":474,"stem":475},"coder","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fcoder","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fcoder",{"title":477,"path":478,"stem":479},"mixer","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fmixer","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fmixer",{"title":465,"path":481,"stem":482},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fmodel","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fmodel",{"title":484,"path":485,"stem":486},"squash","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fsquash","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fsquash",{"title":391,"path":488,"stem":489},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fhuff_llm","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fhuff_llm",{"title":395,"path":491,"stem":492},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fhuffman","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fhuffman",{"title":403,"path":494,"stem":495,"children":496},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor",[497,500],{"title":473,"path":498,"stem":499},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor\u002Fcoder","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor\u002Fcoder",{"title":501,"path":502,"stem":503},"net","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor\u002Fnet","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor\u002Fnet",{"title":505,"path":506,"stem":507},"outcome","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Foutcome","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Foutcome",{"title":419,"path":509,"stem":510},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Frans","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Frans",{"title":512,"path":513,"stem":514},"stream_frame","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fstream_frame","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fstream_frame",{"title":423,"path":516,"stem":517},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Ftans","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Ftans",{"title":519,"path":520,"stem":521},"error","\u002Fapi\u002Frust\u002Fptwm_core\u002Ferror","api\u002Frust\u002Fptwm_core\u002Ferror",{"title":523,"path":524,"stem":525,"children":526},"extension","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension","api\u002Frust\u002Fptwm_core\u002Fextension",[527,531,535,539,542,545,549,553,557,561],{"title":528,"path":529,"stem":530},"builder","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fbuilder","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fbuilder",{"title":532,"path":533,"stem":534},"builtins","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fbuiltins","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fbuiltins",{"title":536,"path":537,"stem":538},"capability","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fcapability","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fcapability",{"title":347,"path":540,"stem":541},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fdispatch","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fdispatch",{"title":519,"path":543,"stem":544},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Ferror","api\u002Frust\u002Fptwm_core\u002Fextension\u002Ferror",{"title":546,"path":547,"stem":548},"id","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fid","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fid",{"title":550,"path":551,"stem":552},"kind","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fkind","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fkind",{"title":554,"path":555,"stem":556},"lifecycle","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Flifecycle","api\u002Frust\u002Fptwm_core\u002Fextension\u002Flifecycle",{"title":558,"path":559,"stem":560},"manifest","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fmanifest","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fmanifest",{"title":562,"path":563,"stem":564},"table","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Ftable","api\u002Frust\u002Fptwm_core\u002Fextension\u002Ftable",{"title":566,"path":567,"stem":568},"fit","\u002Fapi\u002Frust\u002Fptwm_core\u002Ffit","api\u002Frust\u002Fptwm_core\u002Ffit",{"title":570,"path":571,"stem":572,"children":573},"flavor","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor","api\u002Frust\u002Fptwm_core\u002Fflavor",[574,578,582,586,590,594],{"title":575,"path":576,"stem":577},"abi","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fabi","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fabi",{"title":579,"path":580,"stem":581},"host","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fhost","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fhost",{"title":583,"path":584,"stem":585},"native","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fnative","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fnative",{"title":587,"path":588,"stem":589},"router","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Frouter","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Frouter",{"title":591,"path":592,"stem":593},"third_party","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fthird_party","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fthird_party",{"title":595,"path":596,"stem":597},"wasm","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fwasm","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fwasm",{"title":599,"path":600,"stem":601},"header","\u002Fapi\u002Frust\u002Fptwm_core\u002Fheader","api\u002Frust\u002Fptwm_core\u002Fheader",{"title":603,"path":604,"stem":605,"children":606},"index","\u002Fapi\u002Frust\u002Fptwm_core\u002Findex_module","api\u002Frust\u002Fptwm_core\u002Findex_module",[607],{"title":603,"path":604,"stem":605},{"title":609,"path":610,"stem":611,"children":612},"install","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall","api\u002Frust\u002Fptwm_core\u002Finstall",[613,617,621,625,629],{"title":614,"path":615,"stem":616},"git","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Fgit","api\u002Frust\u002Fptwm_core\u002Finstall\u002Fgit",{"title":618,"path":619,"stem":620},"https","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Fhttps","api\u002Frust\u002Fptwm_core\u002Finstall\u002Fhttps",{"title":622,"path":623,"stem":624},"local","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Flocal","api\u002Frust\u002Fptwm_core\u002Finstall\u002Flocal",{"title":626,"path":627,"stem":628},"oci","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Foci","api\u002Frust\u002Fptwm_core\u002Finstall\u002Foci",{"title":630,"path":631,"stem":632},"pip","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Fpip","api\u002Frust\u002Fptwm_core\u002Finstall\u002Fpip",{"title":634,"path":635,"stem":636},"layout","\u002Fapi\u002Frust\u002Fptwm_core\u002Flayout","api\u002Frust\u002Fptwm_core\u002Flayout",{"title":638,"path":639,"stem":640},"metadata","\u002Fapi\u002Frust\u002Fptwm_core\u002Fmetadata","api\u002Frust\u002Fptwm_core\u002Fmetadata",{"title":642,"path":643,"stem":644},"plane_record","\u002Fapi\u002Frust\u002Fptwm_core\u002Fplane_record","api\u002Frust\u002Fptwm_core\u002Fplane_record",{"title":259,"path":646,"stem":647,"children":648},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy","api\u002Frust\u002Fptwm_core\u002Fpolicy",[649,653,657,661],{"title":650,"path":651,"stem":652},"capability_check","\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fcapability_check","api\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fcapability_check",{"title":654,"path":655,"stem":656},"file","\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy\u002Ffile","api\u002Frust\u002Fptwm_core\u002Fpolicy\u002Ffile",{"title":658,"path":659,"stem":660},"native_deps","\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fnative_deps","api\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fnative_deps",{"title":662,"path":663,"stem":664},"resolve","\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fresolve","api\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fresolve",{"title":666,"path":667,"stem":668},"prelude","\u002Fapi\u002Frust\u002Fptwm_core\u002Fprelude","api\u002Frust\u002Fptwm_core\u002Fprelude",{"title":670,"path":671,"stem":672},"quantize","\u002Fapi\u002Frust\u002Fptwm_core\u002Fquantize","api\u002Frust\u002Fptwm_core\u002Fquantize",{"title":674,"path":675,"stem":676},"range_coder","\u002Fapi\u002Frust\u002Fptwm_core\u002Frange_coder","api\u002Frust\u002Fptwm_core\u002Frange_coder",{"title":678,"path":679,"stem":680},"select","\u002Fapi\u002Frust\u002Fptwm_core\u002Fselect","api\u002Frust\u002Fptwm_core\u002Fselect",{"title":682,"path":683,"stem":684,"children":685},"split","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit","api\u002Frust\u002Fptwm_core\u002Fsplit",[686,690,694,698],{"title":687,"path":688,"stem":689},"dtype16","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype16","api\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype16",{"title":691,"path":692,"stem":693},"dtype32","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype32","api\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype32",{"title":695,"path":696,"stem":697},"dtype64","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype64","api\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype64",{"title":699,"path":700,"stem":701},"dtype8","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype8","api\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype8",{"title":703,"path":704,"stem":705},"tensor_record","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftensor_record","api\u002Frust\u002Fptwm_core\u002Ftensor_record",{"title":707,"path":708,"stem":709,"children":710},"transcode","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftranscode","api\u002Frust\u002Fptwm_core\u002Ftranscode",[711],{"title":558,"path":712,"stem":713},"\u002Fapi\u002Frust\u002Fptwm_core\u002Ftranscode\u002Fmanifest","api\u002Frust\u002Fptwm_core\u002Ftranscode\u002Fmanifest",{"title":715,"path":716,"stem":717,"children":718},"transforms","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms","api\u002Frust\u002Fptwm_core\u002Ftransforms",[719,723,727,731,735,739,743,747,751,754,757,761,767,771,775,779,783,787,791,795,799,803,807],{"title":720,"path":721,"stem":722},"alpha_stable_normalize","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Falpha_stable_normalize","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Falpha_stable_normalize",{"title":724,"path":725,"stem":726},"bit_reorder_fp8","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbit_reorder_fp8","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbit_reorder_fp8",{"title":728,"path":729,"stem":730},"bit_reorder_ieee","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbit_reorder_ieee","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbit_reorder_ieee",{"title":732,"path":733,"stem":734},"block_microscaling_repack","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fblock_microscaling_repack","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fblock_microscaling_repack",{"title":736,"path":737,"stem":738},"burrows_wheeler","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fburrows_wheeler","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fburrows_wheeler",{"title":740,"path":741,"stem":742},"byte_passthrough","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbyte_passthrough","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbyte_passthrough",{"title":744,"path":745,"stem":746},"byte_split","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbyte_split","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbyte_split",{"title":748,"path":749,"stem":750},"concat","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fconcat","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fconcat",{"title":279,"path":752,"stem":753},"\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fdelta","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fdelta",{"title":283,"path":755,"stem":756},"\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fentropy","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fentropy",{"title":758,"path":759,"stem":760},"fusion","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Ffusion","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Ffusion",{"title":762,"path":763,"stem":764,"children":765},"index_pack","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Findex_pack","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Findex_pack",[766],{"title":762,"path":763,"stem":764},{"title":768,"path":769,"stem":770},"int_delta","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fint_delta","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fint_delta",{"title":772,"path":773,"stem":774},"mantissa_zero","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmantissa_zero","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmantissa_zero",{"title":776,"path":777,"stem":778},"move_to_front","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmove_to_front","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmove_to_front",{"title":780,"path":781,"stem":782},"mxfp4_deinterleave","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmxfp4_deinterleave","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmxfp4_deinterleave",{"title":784,"path":785,"stem":786},"nibble_split","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fnibble_split","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fnibble_split",{"title":788,"path":789,"stem":790},"op","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fop","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fop",{"title":792,"path":793,"stem":794},"predictor_xor","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fpredictor_xor","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fpredictor_xor",{"title":796,"path":797,"stem":798},"reshape","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Freshape","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Freshape",{"title":800,"path":801,"stem":802},"source","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fsource","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fsource",{"title":804,"path":805,"stem":806},"spherical_normalize","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fspherical_normalize","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fspherical_normalize",{"title":808,"path":809,"stem":810},"terminal","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fterminal","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fterminal",{"title":263,"path":812,"stem":813,"children":814},"\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust","api\u002Frust\u002Fptwm_core\u002Ftrust",[815,819,823,827,831],{"title":816,"path":817,"stem":818},"bundled","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Fbundled","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Fbundled",{"title":820,"path":821,"stem":822},"keyring","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Fkeyring","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Fkeyring",{"title":824,"path":825,"stem":826},"org","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Forg","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Forg",{"title":828,"path":829,"stem":830},"signature","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Fsignature","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Fsignature",{"title":832,"path":833,"stem":834},"verifier","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Fverifier","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Fverifier",{"title":836,"path":837,"stem":838,"children":839},"types","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftypes","api\u002Frust\u002Fptwm_core\u002Ftypes",[840,844,848],{"title":841,"path":842,"stem":843},"descriptor","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftypes\u002Fdescriptor","api\u002Frust\u002Fptwm_core\u002Ftypes\u002Fdescriptor",{"title":845,"path":846,"stem":847},"plane_role","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftypes\u002Fplane_role","api\u002Frust\u002Fptwm_core\u002Ftypes\u002Fplane_role",{"title":849,"path":850,"stem":851},"role","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftypes\u002Frole","api\u002Frust\u002Fptwm_core\u002Ftypes\u002Frole",{"title":853,"path":854,"stem":855},"Benchmarks","\u002Fbenchmarks","50.benchmarks",{"title":857,"path":858,"stem":859},"Extensions","\u002Fextensions","60.extensions",{"title":861,"path":862,"stem":863},"Contributing","\u002Fcontributing","90.contributing",{"id":865,"title":866,"body":867,"description":880,"extension":1398,"kind":886,"language":887,"links":1399,"meta":1400,"navigation":1401,"path":313,"seo":1402,"stem":314,"summary":880,"__hash__":1403},"docs\u002Fapi\u002Fpython\u002Fptwm\u002Fpreprocessing.md","ptwm.preprocessing",{"type":868,"value":869,"toc":1394},"minimark",[870,877,881,890,899,907,914,923,931,939,946,953,960,967,976,984,992,999,1007,1015,1023,1031,1039,1047,1053,1060,1067,1074,1083,1090,1097,1102,1109,1116,1123,1130,1137,1144,1151,1156,1163,1170,1179,1187,1194,1201,1208,1215,1223,1232,1240,1246,1253,1260,1267,1274,1281,1288,1296,1304,1312,1321,1327,1334,1340,1346,1353,1362,1369,1374,1381,1388],[871,872,874],"h1",{"id":873},"ptwmpreprocessing",[875,876,866],"code",{},[878,879,880],"p",{},"Dtype-aware preprocessing for lossless weight compression.",[882,883],"api-item",{":source":884,"id":885,"kind":886,"language":887,"name":312,"parent":217,"qualifiedName":866,"signature":888,"summary":880,"description":889},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F__init__.py\",\"line\":1}","python:ptwm.preprocessing","module","python","module ptwm.preprocessing","The compression pipeline separates preprocessing (bit reorder + byte\u002Fnibble\nsplit) from entropy coding. Preprocessing is expressed as a typed DAG of\nops (a :class:`Chain`) — see :mod:`._chains` for the chain builders and\n:mod:`._explorer` for the generative search that extends them.",[882,891],{":source":892,"id":893,"kind":894,"language":887,"name":895,"parent":866,"qualifiedName":896,"signature":897,"summary":898},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":67}","python:ptwm.preprocessing.cache_dir","function","cache_dir","ptwm.preprocessing.cache_dir","def cache_dir() -> Path","Return the user-local chain cache directory (XDG-aware).",[882,900],{":source":901,"id":902,"kind":894,"language":887,"name":903,"parent":866,"qualifiedName":904,"signature":905,"summary":906},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":176}","python:ptwm.preprocessing.cache_info","cache_info","ptwm.preprocessing.cache_info","def cache_info() -> dict[str, int]","Map cache filename → chain count, for diagnostics.",[882,908],{":source":909,"id":910,"kind":894,"language":887,"name":911,"parent":866,"qualifiedName":912,"signature":913},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":74}","python:ptwm.preprocessing.cache_path_for","cache_path_for","ptwm.preprocessing.cache_path_for","def cache_path_for(dtype_code: int, role: ClassifierRole) -> Path",[882,915],{":source":916,"id":917,"kind":918,"language":887,"name":919,"parent":866,"qualifiedName":920,"signature":921,"summary":922},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":44}","python:ptwm.preprocessing.CacheEntry","type","CacheEntry","ptwm.preprocessing.CacheEntry","class CacheEntry:","One cached chain template, identified structurally.",[882,924],{":source":925,"id":926,"kind":927,"language":887,"name":928,"parent":920,"qualifiedName":929,"signature":930},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":1}","python:ptwm.preprocessing.CacheEntry.__init__","method","__init__","ptwm.preprocessing.CacheEntry.__init__","def __init__(self, internal_dtype: int, ops: tuple[int, ...], byte_split_planes: int) -> None",[882,932],{":source":933,"id":934,"kind":935,"language":887,"name":936,"parent":920,"qualifiedName":937,"signature":938},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":50}","python:ptwm.preprocessing.CacheEntry.byte_split_planes","property","byte_split_planes","ptwm.preprocessing.CacheEntry.byte_split_planes","byte_split_planes: int",[882,940],{":source":941,"id":942,"kind":935,"language":887,"name":943,"parent":920,"qualifiedName":944,"signature":945},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":48}","python:ptwm.preprocessing.CacheEntry.internal_dtype","internal_dtype","ptwm.preprocessing.CacheEntry.internal_dtype","internal_dtype: int",[882,947],{":source":948,"id":949,"kind":935,"language":887,"name":950,"parent":920,"qualifiedName":951,"signature":952},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":49}","python:ptwm.preprocessing.CacheEntry.ops","ops","ptwm.preprocessing.CacheEntry.ops","ops: tuple[int, ...]",[882,954],{":source":955,"id":956,"kind":927,"language":887,"name":957,"parent":920,"qualifiedName":958,"signature":959},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":52}","python:ptwm.preprocessing.CacheEntry.to_builder","to_builder","ptwm.preprocessing.CacheEntry.to_builder","def to_builder(self) -> ChainBuilder",[882,961],{":source":962,"id":963,"kind":918,"language":887,"name":964,"parent":866,"qualifiedName":965,"signature":966},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":170}","python:ptwm.preprocessing.Chain","Chain","ptwm.preprocessing.Chain","class Chain:",[882,968],{":source":969,"id":970,"kind":971,"language":887,"name":972,"parent":866,"qualifiedName":973,"signature":974,"summary":975},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":851}","python:ptwm.preprocessing.CHAIN_BF16_SPLIT","constant","CHAIN_BF16_SPLIT","ptwm.preprocessing.CHAIN_BF16_SPLIT","CHAIN_BF16_SPLIT: ChainBuilder = _bf16_split_chain","BF16 \u002F FP16 standard: BitReorderIeee16 + ByteSplit(n=2).",[882,977],{":source":978,"id":979,"kind":971,"language":887,"name":980,"parent":866,"qualifiedName":981,"signature":982,"summary":983},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":925}","python:ptwm.preprocessing.CHAIN_BYTE_PASSTHROUGH_VALUE","CHAIN_BYTE_PASSTHROUGH_VALUE","ptwm.preprocessing.CHAIN_BYTE_PASSTHROUGH_VALUE","CHAIN_BYTE_PASSTHROUGH_VALUE: ChainBuilder = _u8_byte_passthrough_value_chain","Uint8 standard passthrough.",[882,985],{":source":986,"id":987,"kind":971,"language":887,"name":988,"parent":866,"qualifiedName":989,"signature":990,"summary":991},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":919}","python:ptwm.preprocessing.CHAIN_F32_GLOBAL_SCALE","CHAIN_F32_GLOBAL_SCALE","ptwm.preprocessing.CHAIN_F32_GLOBAL_SCALE","CHAIN_F32_GLOBAL_SCALE: ChainBuilder = _fp32_global_scale_chain","FP32 global-scale passthrough (NVFP4 input_scale tensors).",[882,993],{":source":994,"id":995,"kind":971,"language":887,"name":996,"parent":866,"qualifiedName":997,"signature":998},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":914}","python:ptwm.preprocessing.CHAIN_F8E4M3_NIBBLE","CHAIN_F8E4M3_NIBBLE","ptwm.preprocessing.CHAIN_F8E4M3_NIBBLE","CHAIN_F8E4M3_NIBBLE: ChainBuilder = _fp8e4m3_nibble_chain",[882,1000],{":source":1001,"id":1002,"kind":971,"language":887,"name":1003,"parent":866,"qualifiedName":1004,"signature":1005,"summary":1006},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":910}","python:ptwm.preprocessing.CHAIN_F8E4M3_SCALE_PASSTHROUGH","CHAIN_F8E4M3_SCALE_PASSTHROUGH","ptwm.preprocessing.CHAIN_F8E4M3_SCALE_PASSTHROUGH","CHAIN_F8E4M3_SCALE_PASSTHROUGH: ChainBuilder = _fp8e4m3_scale_passthrough_chain","FP8 E4M3FN scale-block passthrough (enables O1SAC on block-scale tensors).",[882,1008],{":source":1009,"id":1010,"kind":971,"language":887,"name":1011,"parent":866,"qualifiedName":1012,"signature":1013,"summary":1014},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":863}","python:ptwm.preprocessing.CHAIN_FP32_SPLIT","CHAIN_FP32_SPLIT","ptwm.preprocessing.CHAIN_FP32_SPLIT","CHAIN_FP32_SPLIT: ChainBuilder = _fp32_split_chain","FP32 standard: BitReorderIeee32 + ByteSplit(n=4).",[882,1016],{":source":1017,"id":1018,"kind":971,"language":887,"name":1019,"parent":866,"qualifiedName":1020,"signature":1021,"summary":1022},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":922}","python:ptwm.preprocessing.CHAIN_FP4_NIBBLE_PASSTHROUGH","CHAIN_FP4_NIBBLE_PASSTHROUGH","ptwm.preprocessing.CHAIN_FP4_NIBBLE_PASSTHROUGH","CHAIN_FP4_NIBBLE_PASSTHROUGH: ChainBuilder = _fp4_passthrough_chain","Packed FP4 values passthrough (enables PerGroupCodebook).",[882,1024],{":source":1025,"id":1026,"kind":971,"language":887,"name":1027,"parent":866,"qualifiedName":1028,"signature":1029,"summary":1030},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":904}","python:ptwm.preprocessing.CHAIN_FP8E4M3_NIBBLE","CHAIN_FP8E4M3_NIBBLE","ptwm.preprocessing.CHAIN_FP8E4M3_NIBBLE","CHAIN_FP8E4M3_NIBBLE: ChainBuilder = _fp8e4m3_nibble_chain","FP8 E4M3FN standard: BitReorderFp8E4M3 + NibbleSplit.",[882,1032],{":source":1033,"id":1034,"kind":971,"language":887,"name":1035,"parent":866,"qualifiedName":1036,"signature":1037,"summary":1038},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":907}","python:ptwm.preprocessing.CHAIN_FP8E5M2_NIBBLE","CHAIN_FP8E5M2_NIBBLE","ptwm.preprocessing.CHAIN_FP8E5M2_NIBBLE","CHAIN_FP8E5M2_NIBBLE: ChainBuilder = _fp8e5m2_nibble_chain","FP8 E5M2 standard: BitReorderFp8E5M2 + NibbleSplit.",[882,1040],{":source":1041,"id":1042,"kind":971,"language":887,"name":1043,"parent":866,"qualifiedName":1044,"signature":1045,"summary":1046},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":916}","python:ptwm.preprocessing.CHAIN_U8_SCALE_PASSTHROUGH","CHAIN_U8_SCALE_PASSTHROUGH","ptwm.preprocessing.CHAIN_U8_SCALE_PASSTHROUGH","CHAIN_U8_SCALE_PASSTHROUGH: ChainBuilder = _u8_scale_passthrough_chain","Uint8 scale-block passthrough (MXFP4 E8M0 scales).",[882,1048],{":source":1049,"id":1050,"kind":927,"language":887,"name":928,"parent":965,"qualifiedName":1051,"signature":1052},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":1}","python:ptwm.preprocessing.Chain.__init__","ptwm.preprocessing.Chain.__init__","def __init__(self, nodes: list[ChainNode], edges: list[ChainEdge], terminals: list[TerminalRef]) -> None",[882,1054],{":source":1055,"id":1056,"kind":935,"language":887,"name":1057,"parent":965,"qualifiedName":1058,"signature":1059},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":173}","python:ptwm.preprocessing.Chain.edges","edges","ptwm.preprocessing.Chain.edges","edges: list[ChainEdge]",[882,1061],{":source":1062,"id":1063,"kind":935,"language":887,"name":1064,"parent":965,"qualifiedName":1065,"signature":1066},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":172}","python:ptwm.preprocessing.Chain.nodes","nodes","ptwm.preprocessing.Chain.nodes","nodes: list[ChainNode]",[882,1068],{":source":1069,"id":1070,"kind":935,"language":887,"name":1071,"parent":965,"qualifiedName":1072,"signature":1073},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":174}","python:ptwm.preprocessing.Chain.terminals","terminals","ptwm.preprocessing.Chain.terminals","terminals: list[TerminalRef]",[882,1075],{":source":1076,"id":1077,"kind":927,"language":887,"name":1078,"parent":965,"qualifiedName":1079,"signature":1080,"summary":1081,"description":1082},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":176}","python:ptwm.preprocessing.Chain.to_bytes","to_bytes","ptwm.preprocessing.Chain.to_bytes","def to_bytes(self) -> bytes","Serialise to the wire format consumed by ``compress_model``.","The wire format is a self-contained blob consisting\nof a local extension table followed by table-indexed chain bytes.\nThe conversion from legacy op-id bytes to the new format is done\nvia the Rust bridge to ensure consistency with the Rust canonical-id\nimplementation.",[882,1084],{":source":1085,"id":1086,"kind":935,"language":887,"name":1087,"parent":866,"qualifiedName":1088,"signature":1089},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":277}","python:ptwm.preprocessing.ChainBuilder","ChainBuilder","ptwm.preprocessing.ChainBuilder","ChainBuilder = Callable[[list[int]], Chain | None]",[882,1091],{":source":1092,"id":1093,"kind":918,"language":887,"name":1094,"parent":866,"qualifiedName":1095,"signature":1096},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":153}","python:ptwm.preprocessing.ChainEdge","ChainEdge","ptwm.preprocessing.ChainEdge","class ChainEdge:",[882,1098],{":source":1049,"id":1099,"kind":927,"language":887,"name":928,"parent":1095,"qualifiedName":1100,"signature":1101},"python:ptwm.preprocessing.ChainEdge.__init__","ptwm.preprocessing.ChainEdge.__init__","def __init__(self, src_node: int, src_output_idx: int, dst_node: int, dst_input_idx: int, role_override: bytes | None = None, vendor_bytes: bytes = b'') -> None",[882,1103],{":source":1104,"id":1105,"kind":935,"language":887,"name":1106,"parent":1095,"qualifiedName":1107,"signature":1108},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":158}","python:ptwm.preprocessing.ChainEdge.dst_input_idx","dst_input_idx","ptwm.preprocessing.ChainEdge.dst_input_idx","dst_input_idx: int",[882,1110],{":source":1111,"id":1112,"kind":935,"language":887,"name":1113,"parent":1095,"qualifiedName":1114,"signature":1115},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":157}","python:ptwm.preprocessing.ChainEdge.dst_node","dst_node","ptwm.preprocessing.ChainEdge.dst_node","dst_node: int",[882,1117],{":source":1118,"id":1119,"kind":935,"language":887,"name":1120,"parent":1095,"qualifiedName":1121,"signature":1122},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":159}","python:ptwm.preprocessing.ChainEdge.role_override","role_override","ptwm.preprocessing.ChainEdge.role_override","role_override: bytes | None = None",[882,1124],{":source":1125,"id":1126,"kind":935,"language":887,"name":1127,"parent":1095,"qualifiedName":1128,"signature":1129},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":155}","python:ptwm.preprocessing.ChainEdge.src_node","src_node","ptwm.preprocessing.ChainEdge.src_node","src_node: int",[882,1131],{":source":1132,"id":1133,"kind":935,"language":887,"name":1134,"parent":1095,"qualifiedName":1135,"signature":1136},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":156}","python:ptwm.preprocessing.ChainEdge.src_output_idx","src_output_idx","ptwm.preprocessing.ChainEdge.src_output_idx","src_output_idx: int",[882,1138],{":source":1139,"id":1140,"kind":935,"language":887,"name":1141,"parent":1095,"qualifiedName":1142,"signature":1143},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":160}","python:ptwm.preprocessing.ChainEdge.vendor_bytes","vendor_bytes","ptwm.preprocessing.ChainEdge.vendor_bytes","vendor_bytes: bytes = field(default=b'')",[882,1145],{":source":1146,"id":1147,"kind":918,"language":887,"name":1148,"parent":866,"qualifiedName":1149,"signature":1150},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":147}","python:ptwm.preprocessing.ChainNode","ChainNode","ptwm.preprocessing.ChainNode","class ChainNode:",[882,1152],{":source":1049,"id":1153,"kind":927,"language":887,"name":928,"parent":1149,"qualifiedName":1154,"signature":1155},"python:ptwm.preprocessing.ChainNode.__init__","ptwm.preprocessing.ChainNode.__init__","def __init__(self, op_id: int, params: bytes = b'') -> None",[882,1157],{":source":1158,"id":1159,"kind":935,"language":887,"name":1160,"parent":1149,"qualifiedName":1161,"signature":1162},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":149}","python:ptwm.preprocessing.ChainNode.op_id","op_id","ptwm.preprocessing.ChainNode.op_id","op_id: int",[882,1164],{":source":1165,"id":1166,"kind":935,"language":887,"name":1167,"parent":1149,"qualifiedName":1168,"signature":1169},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":150}","python:ptwm.preprocessing.ChainNode.params","params","ptwm.preprocessing.ChainNode.params","params: bytes = field(default=b'')",[882,1171],{":source":1172,"id":1173,"kind":894,"language":887,"name":1174,"parent":866,"qualifiedName":1175,"signature":1176,"summary":1177,"description":1178},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":1029}","python:ptwm.preprocessing.chains_for","chains_for","ptwm.preprocessing.chains_for","def chains_for(dtype_code: int, role: ClassifierRole) -> list[ChainBuilder]","Return the chain builders for ``(dtype_code, role)``.","Returns an empty list when the combination has no production entry.",[882,1180],{":source":1181,"id":1182,"kind":918,"language":887,"name":1183,"parent":866,"qualifiedName":1184,"signature":1185,"summary":1186},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":263}","python:ptwm.preprocessing.ClassifierRole","ClassifierRole","ptwm.preprocessing.ClassifierRole","class ClassifierRole(IntEnum):","Tensor role used as the second key in :data:`PRODUCTION_CHAINS`.",[882,1188],{":source":1189,"id":1190,"kind":971,"language":887,"name":1191,"parent":1184,"qualifiedName":1192,"signature":1193},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":269}","python:ptwm.preprocessing.ClassifierRole.PACKED_VALUES","PACKED_VALUES","ptwm.preprocessing.ClassifierRole.PACKED_VALUES","PACKED_VALUES = 3",[882,1195],{":source":1196,"id":1197,"kind":971,"language":887,"name":1198,"parent":1184,"qualifiedName":1199,"signature":1200},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":267}","python:ptwm.preprocessing.ClassifierRole.SCALE_BLOCK","SCALE_BLOCK","ptwm.preprocessing.ClassifierRole.SCALE_BLOCK","SCALE_BLOCK = 1",[882,1202],{":source":1203,"id":1204,"kind":971,"language":887,"name":1205,"parent":1184,"qualifiedName":1206,"signature":1207},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":268}","python:ptwm.preprocessing.ClassifierRole.SCALE_GLOBAL","SCALE_GLOBAL","ptwm.preprocessing.ClassifierRole.SCALE_GLOBAL","SCALE_GLOBAL = 2",[882,1209],{":source":1210,"id":1211,"kind":971,"language":887,"name":1212,"parent":1184,"qualifiedName":1213,"signature":1214},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":266}","python:ptwm.preprocessing.ClassifierRole.STANDARD","STANDARD","ptwm.preprocessing.ClassifierRole.STANDARD","STANDARD = 0",[882,1216],{":source":1217,"id":1218,"kind":894,"language":887,"name":1219,"parent":866,"qualifiedName":1220,"signature":1221,"summary":1222},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":164}","python:ptwm.preprocessing.clear_cache","clear_cache","ptwm.preprocessing.clear_cache","def clear_cache() -> int","Delete every cache file. Returns the number of files removed.",[882,1224],{":source":1225,"id":1226,"kind":894,"language":887,"name":1227,"parent":866,"qualifiedName":1228,"signature":1229,"summary":1230,"description":1231},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":281}","python:ptwm.preprocessing.explore_chains","explore_chains","ptwm.preprocessing.explore_chains","def explore_chains(dtype_code: int, role: ClassifierRole, opts: ExploreOptions | None = None) -> Iterator[ChainBuilder]","Enumerate legal chain builders for *(dtype_code, role)*.","Each yielded value is a :data:`ChainBuilder` callable\n``(shape: list[int]) -> Chain``. Yielded callables also carry a\n``template`` attribute (an `~ptwm.preprocessing._cache.CacheEntry`) so the\nuser-local chain cache can record the structural template without re-\nrunning the BFS.",[882,1233],{":source":1234,"id":1235,"kind":918,"language":887,"name":1236,"parent":866,"qualifiedName":1237,"signature":1238,"summary":1239},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":75}","python:ptwm.preprocessing.ExploreOptions","ExploreOptions","ptwm.preprocessing.ExploreOptions","class ExploreOptions:","Search-bound configuration for the generative explorer.",[882,1241],{":source":1242,"id":1243,"kind":927,"language":887,"name":928,"parent":1237,"qualifiedName":1244,"signature":1245},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":1}","python:ptwm.preprocessing.ExploreOptions.__init__","ptwm.preprocessing.ExploreOptions.__init__","def __init__(self, max_nodes: int = 8, max_depth: int = 5, max_candidates_per_dtype: int = 32, allow_cross_tensor: bool = False, allow_cross_plane: bool = False, time_budget_ms: int = 5000) -> None",[882,1247],{":source":1248,"id":1249,"kind":935,"language":887,"name":1250,"parent":1237,"qualifiedName":1251,"signature":1252},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":83}","python:ptwm.preprocessing.ExploreOptions.allow_cross_plane","allow_cross_plane","ptwm.preprocessing.ExploreOptions.allow_cross_plane","allow_cross_plane: bool = False",[882,1254],{":source":1255,"id":1256,"kind":935,"language":887,"name":1257,"parent":1237,"qualifiedName":1258,"signature":1259},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":82}","python:ptwm.preprocessing.ExploreOptions.allow_cross_tensor","allow_cross_tensor","ptwm.preprocessing.ExploreOptions.allow_cross_tensor","allow_cross_tensor: bool = False",[882,1261],{":source":1262,"id":1263,"kind":935,"language":887,"name":1264,"parent":1237,"qualifiedName":1265,"signature":1266},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":81}","python:ptwm.preprocessing.ExploreOptions.max_candidates_per_dtype","max_candidates_per_dtype","ptwm.preprocessing.ExploreOptions.max_candidates_per_dtype","max_candidates_per_dtype: int = 32",[882,1268],{":source":1269,"id":1270,"kind":935,"language":887,"name":1271,"parent":1237,"qualifiedName":1272,"signature":1273},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":80}","python:ptwm.preprocessing.ExploreOptions.max_depth","max_depth","ptwm.preprocessing.ExploreOptions.max_depth","max_depth: int = 5",[882,1275],{":source":1276,"id":1277,"kind":935,"language":887,"name":1278,"parent":1237,"qualifiedName":1279,"signature":1280},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":79}","python:ptwm.preprocessing.ExploreOptions.max_nodes","max_nodes","ptwm.preprocessing.ExploreOptions.max_nodes","max_nodes: int = 8",[882,1282],{":source":1283,"id":1284,"kind":935,"language":887,"name":1285,"parent":1237,"qualifiedName":1286,"signature":1287},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":84}","python:ptwm.preprocessing.ExploreOptions.time_budget_ms","time_budget_ms","ptwm.preprocessing.ExploreOptions.time_budget_ms","time_budget_ms: int = 5000",[882,1289],{":source":1290,"id":1291,"kind":894,"language":887,"name":1292,"parent":866,"qualifiedName":1293,"signature":1294,"summary":1295},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_explorer.py\",\"line\":92}","python:ptwm.preprocessing.is_legal_chain","is_legal_chain","ptwm.preprocessing.is_legal_chain","def is_legal_chain(chain: Chain, opts: ExploreOptions | None = None) -> bool","Return ``True`` iff *chain* passes all 10 pruning rules.",[882,1297],{":source":1298,"id":1299,"kind":894,"language":887,"name":1300,"parent":866,"qualifiedName":1301,"signature":1302,"summary":1303},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":132}","python:ptwm.preprocessing.load_cached_builders","load_cached_builders","ptwm.preprocessing.load_cached_builders","def load_cached_builders(dtype_code: int, role: ClassifierRole) -> list[ChainBuilder]","Return runtime `ChainBuilder`s for cached entries of `(dtype_code, role)`.",[882,1305],{":source":1306,"id":1307,"kind":894,"language":887,"name":1308,"parent":866,"qualifiedName":1309,"signature":1310,"summary":1311},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":119}","python:ptwm.preprocessing.load_cached_entries","load_cached_entries","ptwm.preprocessing.load_cached_entries","def load_cached_entries(dtype_code: int, role: ClassifierRole) -> list[CacheEntry]","Return cached entries for `(dtype_code, role)`, or `[]` on miss \u002F corruption.",[882,1313],{":source":1314,"id":1315,"kind":918,"language":887,"name":1316,"parent":866,"qualifiedName":1317,"signature":1318,"summary":1319,"description":1320},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_plane.py\",\"line\":8}","python:ptwm.preprocessing.Plane","Plane","ptwm.preprocessing.Plane","class Plane:","One plane produced by the preprocessing pipeline.","``role`` is a free-form short string identifying the semantic content\nof the plane (e.g. ``\"exponent\"``, ``\"sign_mantissa\"``, ``\"byte_0\"``).\nUsed by logging \u002F diagnostics; the compression pipeline does not\nbranch on it.",[882,1322],{":source":1323,"id":1324,"kind":927,"language":887,"name":928,"parent":1317,"qualifiedName":1325,"signature":1326},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_plane.py\",\"line\":1}","python:ptwm.preprocessing.Plane.__init__","ptwm.preprocessing.Plane.__init__","def __init__(self, id: int, role: str, data: bytes) -> None",[882,1328],{":source":1329,"id":1330,"kind":935,"language":887,"name":1331,"parent":1317,"qualifiedName":1332,"signature":1333},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_plane.py\",\"line\":20}","python:ptwm.preprocessing.Plane.data","data","ptwm.preprocessing.Plane.data","data: bytes",[882,1335],{":source":1336,"id":1337,"kind":935,"language":887,"name":546,"parent":1317,"qualifiedName":1338,"signature":1339},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_plane.py\",\"line\":18}","python:ptwm.preprocessing.Plane.id","ptwm.preprocessing.Plane.id","id: int",[882,1341],{":source":1342,"id":1343,"kind":935,"language":887,"name":849,"parent":1317,"qualifiedName":1344,"signature":1345},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_plane.py\",\"line\":19}","python:ptwm.preprocessing.Plane.role","ptwm.preprocessing.Plane.role","role: str",[882,1347],{":source":1348,"id":1349,"kind":971,"language":887,"name":1350,"parent":866,"qualifiedName":1351,"signature":1352},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":969}","python:ptwm.preprocessing.PRODUCTION_CHAINS","PRODUCTION_CHAINS","ptwm.preprocessing.PRODUCTION_CHAINS","PRODUCTION_CHAINS: dict[tuple[int, ClassifierRole], list[ChainBuilder]] = {(_DT.FLOAT8_E4M3FN.code, ClassifierRole.SCALE_BLOCK): [CHAIN_F8E4M3_SCALE_PASSTHROUGH, CHAIN_F8E4M3_NIBBLE], (_DT.UINT8.code, ClassifierRole.SCALE_BLOCK): [CHAIN_U8_SCALE_PASSTHROUGH], (_DT.FLOAT32.code, ClassifierRole.SCALE_GLOBAL): [CHAIN_F32_GLOBAL_SCALE], (_DT.FLOAT4_E2M1FN_X2.code, ClassifierRole.PACKED_VALUES): [CHAIN_FP4_NIBBLE_PASSTHROUGH], (_DT.BFLOAT16.code, ClassifierRole.STANDARD): [CHAIN_BF16_SPLIT, CHAIN_BF16_SPLIT_INTDELTA, CHAIN_BF16_SPLIT_PREDICTOR_XOR, CHAIN_BF16_MICROSCALE_REPACK, CHAIN_BF16_SPLIT_MZS_K1, CHAIN_BF16_SPLIT_MZS_K2, CHAIN_BF16_SPLIT_MZS_K3, CHAIN_BF16_SPLIT_MZS_K4, CHAIN_BF16_SPHERICAL_NORMALIZE, CHAIN_BF16_ALPHA_STABLE_NORMALIZE, CHAIN_BF16_HUFF_LLM_RAW], (_DT.FLOAT16.code, ClassifierRole.STANDARD): [CHAIN_BF16_SPLIT, CHAIN_BF16_SPLIT_INTDELTA, CHAIN_BF16_SPLIT_PREDICTOR_XOR, CHAIN_BF16_SPLIT_MZS_K1, CHAIN_BF16_SPLIT_MZS_K2, CHAIN_BF16_SPLIT_MZS_K3, CHAIN_BF16_SPLIT_MZS_K4, CHAIN_FP16_SPHERICAL_NORMALIZE, CHAIN_FP16_ALPHA_STABLE_NORMALIZE, CHAIN_FP16_HUFF_LLM_RAW], (_DT.FLOAT32.code, ClassifierRole.STANDARD): [CHAIN_FP32_SPLIT, CHAIN_FP32_SPLIT_INTDELTA, CHAIN_FP32_SPLIT_PREDICTOR_XOR, CHAIN_FP32_SPLIT_MZS_K1, CHAIN_FP32_SPLIT_MZS_K2, CHAIN_FP32_SPLIT_MZS_K3, CHAIN_FP32_SPLIT_MZS_K4, CHAIN_FP32_SPHERICAL_NORMALIZE, CHAIN_FP32_ALPHA_STABLE_NORMALIZE], (_DT.FLOAT8_E4M3FN.code, ClassifierRole.STANDARD): [CHAIN_FP8E4M3_NIBBLE], (_DT.FLOAT8_E5M2.code, ClassifierRole.STANDARD): [CHAIN_FP8E5M2_NIBBLE], (_DT.UINT8.code, ClassifierRole.STANDARD): [CHAIN_BYTE_PASSTHROUGH_VALUE]}",[882,1354],{":source":1355,"id":1356,"kind":894,"language":887,"name":1357,"parent":866,"qualifiedName":1358,"signature":1359,"summary":1360,"description":1361},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_cache.py\",\"line\":137}","python:ptwm.preprocessing.save_cached_entries","save_cached_entries","ptwm.preprocessing.save_cached_entries","def save_cached_entries(dtype_code: int, role: ClassifierRole, new_entries: Iterable[CacheEntry]) -> int","Union `new_entries` with the existing cache file. Returns count added.","Idempotent: writing the same entry twice is a no-op.",[882,1363],{":source":1364,"id":1365,"kind":918,"language":887,"name":1366,"parent":866,"qualifiedName":1367,"signature":1368},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":163}","python:ptwm.preprocessing.TerminalRef","TerminalRef","ptwm.preprocessing.TerminalRef","class TerminalRef:",[882,1370],{":source":1049,"id":1371,"kind":927,"language":887,"name":928,"parent":1367,"qualifiedName":1372,"signature":1373},"python:ptwm.preprocessing.TerminalRef.__init__","ptwm.preprocessing.TerminalRef.__init__","def __init__(self, node_idx: int, output_idx: int, role: bytes) -> None",[882,1375],{":source":1376,"id":1377,"kind":935,"language":887,"name":1378,"parent":1367,"qualifiedName":1379,"signature":1380},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":165}","python:ptwm.preprocessing.TerminalRef.node_idx","node_idx","ptwm.preprocessing.TerminalRef.node_idx","node_idx: int",[882,1382],{":source":1383,"id":1384,"kind":935,"language":887,"name":1385,"parent":1367,"qualifiedName":1386,"signature":1387},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":166}","python:ptwm.preprocessing.TerminalRef.output_idx","output_idx","ptwm.preprocessing.TerminalRef.output_idx","output_idx: int",[882,1389],{":source":1390,"id":1391,"kind":935,"language":887,"name":849,"parent":1367,"qualifiedName":1392,"signature":1393},"{\"file\":\"python\u002Fptwm\u002Fpreprocessing\u002F_chains.py\",\"line\":167}","python:ptwm.preprocessing.TerminalRef.role","ptwm.preprocessing.TerminalRef.role","role: bytes",{"title":1395,"searchDepth":1396,"depth":1396,"links":1397},"",3,[],"md",null,{},{"title":312},{"title":866,"description":880},"2Q8d2eTntMeuXbZ6k4jZuJhii8Vo6EEylUKgbs0c54g",[1405,1407],{"title":308,"path":309,"stem":310,"description":1406,"children":-1},"Integrations for third-party libraries.",{"title":316,"path":317,"stem":318,"description":1408,"children":-1},"Random-access loader for .ptwm containers.",1784820659158]