!yVt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ ] ^ _ ` a b c d e f g h i j k l m n o p q r s None_ BO '()*+ ,-. /  01234567%$& 89cab`:; <!"#=IL>?@ABCJKDOPQEFGHMNRSTUVWXYZ[\]^_defghijklmnopqrstuvwxyz{|}~    !"#$%&'*()+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO '()*+ ,-. /  01234567%$& 89cab`:; <!"#=IL>?@ABCJKDOPQEFGHMNRSTUVWXYZ[\]^_defghijklmnopqrstuvwxyz{|}~    !"#$%&'*()+,-./0123456789:;<=>?@ABCDEFGHIJKLMNNone279>X_9| Yhasktorch-codegenType of code to generateZhasktorch-codegen8generic/ files which are used in C for type-generic code[hasktorch-codegenTconcrete supporting files. These include utility functions and random generators.\hasktorch-codegenAll possible libraries that we intend to support (these are all src libraries in ATen). Note that this ordering is used in codegen and must not be changed.ehasktorch-codegen8Short descriptions of each library we intend to support.fhasktorch-codegenCWhether or not we currently support code generation for the libraryhhasktorch-codegen$Where generated code will be placed.ihasktorch-codegen$The prefix of the output module namejhasktorch-codegenSWhere the source files are located, relative to the root of the hasktorch project.khasktorch-codegenxWhether or not we currently support generating this type of code (ie: I (@stites) am not sure about the managed files).OPQRSTUVWXYZ[\]^_`abcdefghijkl\]^_`abcdefghijYZ[kOPQRSTUVWXlNone279X_<hasktorch-codegenThreadLocal -- THC-specifichasktorch-codegen NNType NNTypeEENone79;M_?~hasktorch-codegen"a concrete type for function names+     +      None_AOPQRSTUVWXYZ[\]^_`abcdefghijkl     None_CKLMKLMNone _HOhasktorch-codegen&spliced text to use for function namesQhasktorch-codegenAWarning a function that doesn't exist will return True by defaultTODO: make this safer. (stites): to make this safer I think we need to invert these maps so that we are given function names instead of doing membership checks.NOPQNOPQNone_IRRRNone_KDWhasktorch-codegenrender a haskell function name.Xhasktorch-codegen#Render a single function signature.STUVWXXVWSTU NonePX_U`hasktorch-codegenSbuild a parser that will try to find the double-pointer- or pointer- variant first.bhasktorch-codegenFparse a library-dependent parser across all of our supported librarieskhasktorch-codegenZskip over a _single-line_ of block comment -- something which seems standard in the libTH.lhasktorch-codegenOrun a parser to find all possible functions, returning one maybe type per-line.mhasktorch-codegenareturns a Maybe Function because we actually don't care about constants when generating FFI code.nhasktorch-codegen5Skip a line because we have failed to find a function\]^_`abcdefghijklmn\]^_`abcdefghijklmn None$_U opq pqo None_VZrssr Safe_Vtuvwxyz{| !"!#$%&'&(&)&*+,+-!./012345$6$7$8$9:;<=>?@AB&C&D+EFG$H$IJK!L+MNO$PFQ$RST4UVWXYZ[\]^_`_a_b_c_defghi_j$k_l_mno_phqhr_sntnu_v_w_xyz{|}~YYYYWWWWWWWWWWWWWWWWWWWWWWnNNNNFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF$$$$$$$$$$$$$$$$$$$&&&&&&SSSS S S S S  !"#$%&'()*)+),)-)./0!1!2!3!4!56789:;<=>?@ABCBDBE+F+G+H+I+J+K+L+M+N+OPQRSTUVWXVYZ[\][\^_`a_bc_bd_be[\f[gh[gi[gj[kl[mn[op[oq[or[os[ot[ou[ov[ow[ox[oy[oz[o{[o|[o}[o~[o[o[o[o[o[o[o[o[o[o[o[o[o[[P      !"#$$%%&&''(())**+,-../0012234456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                !hasktorch-codegen-0.0.1.1-inplaceCodeGen.PreludeCodeGen.Types.CLICodeGen.Types.ParsedCodeGen.Types.HsOutputCodeGen.Render.CCodeGen.Parse.CasesCodeGen.Render.HaskellCodeGen.Render.Function CodeGen.ParseCodeGen.RenderCodeGen.FileMappings CodeGen.TypesPaths_hasktorch_codegenbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwise Debug.Tracetracemap$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn Data.String fromString fromIntegral realToFrac toInteger toRational Control.Monadguard<>memptymappendmconcat<*>pure*>BoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGeneric SemigroupMonoid GHC.TypesBoolCharDoubleFloatInt integer-gmpGHC.Integer.TypeInteger GHC.MaybeMaybeOrderingRationalIOWord Data.EitherEitherFalseNothingJustTrueLeftRightLTEQGT Data.VoidVoidControl.Monad.IO.ClassliftIO traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowMtraceM traceShowId traceShowtraceId putTraceMsgtraceIOsequencemapM sequenceAtraverseControl.ApplicativeoptionalreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioErrorGHC.IOFilePath userErrorIOErrornotElemallanyorand concatMapconcatasum sequence_mapM_productsumminimummaximumelemlengthnullfoldl1foldr1foldlfoldrfoldMap Data.OldListunwordswordsunlineslines intercalatenub Text.Readreadreadseitherlex readParenreadList readsPrecText.ParserCombinators.ReadPReadSatanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix GHC.UnicodetoLower Data.Functorvoid<$>lcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsucc showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanlinitlasttailhead Data.MaybemapMaybe catMaybes fromMaybeisJustmaybeuncurrycurrysubtractsignumabs*+asTypeOfuntil$!flip.constid=<<<$<*<|>StringGHC.Err undefinederrorWithoutStackTraceerror/=<=compare&&||not<>maxmin text-1.2.3.1Data.Text.InternalTextQhashable-1.2.7.0-95e7afeafb91543438ad5314162abf4bc560579788c464d1c06767194072669cData.Hashable.ClassHashable]unordered-containers-0.2.9.0-dd2bebccaa1abc35fda980974bac35464630c34349d15a0de3b8601d04610bd5Data.HashMap.BaseHashMap Data.HashSetHashSetQmegaparsec-7.0.3-f07945c442fde31fd1ba2e62df4e0305518a66bfc38edb1a464edd2cad7fa763Text.MegaparsecatEnd runParserYparser-combinators-1.0.0-e83c76ec4428f80f8c94ae8f96116696a3ee7ffd56625071e154e349a2edeb26Control.Applicative.CombinatorschoiceControl.Monad.CombinatorsmanyskipManysomeParsecText.Megaparsec.Classeof lookAheadtryText.Megaparsec.Error ParseErrorText.Megaparsec.InternalParsecTText.Megaparsec.Char alphaNumChar asciiChar binDigitChar categoryNamecharchar' charCategory controlCharcrlf digitChareol hexDigitChar latin1Char letterChar lowerCharmarkCharnewline numberChar octDigitChar printCharpunctuationChar separatorCharspacespace1 spaceChar symbolChartab upperCharText.Megaparsec.Commonstringstring' impossibletshow tputStrLn anySingleBut TemplateTypeGenByteGenChar GenDoubleGenFloatGenHalfGenIntGenLongGenShort GenNothing CodeGenType GenericFiles ConcreteFilesLibTypeATenTHCUNNTHCSTHCTHNNTHSTHprefix describe' supportedsupportedLibrariesoutDir outModulesrcDir generatablegeneratedTypes$fShowCodeGenType$fReadCodeGenType $fEqLibType $fOrdLibType $fShowLibType $fEnumLibType$fBoundedLibType $fReadLibType$fGenericLibType$fHashableLibType $fDataLibType$fEqCodeGenType$fOrdCodeGenType$fEnumCodeGenType$fBoundedCodeGenType$fEqTemplateType$fOrdTemplateType$fBoundedTemplateType$fShowTemplateType$fGenericTemplateType$fHashableTemplateTypeParserFunction funPrefixfunNamefunArgs funReturnArgargTypeargName RawTenTypeTensor ByteTensor CharTensor ShortTensor IntTensor LongTensor FloatTensor DoubleTensor HalfTensorStorage ByteStorage CharStorage ShortStorage IntStorage LongStorage FloatStorage DoubleStorage HalfStorageDescBuff Generator AllocatorFileHalfState IndexTensor IntegerTensorAccRealStreamTenTypePair unTenTypeCTypeCBoolCVoidCPtrdiffCFloatCDoubleCLongCUInt64CUInt32CUInt16CUInt8CInt64CInt32CInt16CInt8CIntCSizeCCharCShortParsablePtrisConcreteCudaPrefixed allTenTypes $fEqCType $fShowCType$fGenericCType$fHashableCType$fBoundedCType $fEnumCType$fEqRawTenType$fShowRawTenType$fGenericRawTenType$fHashableRawTenType$fBoundedRawTenType$fEnumRawTenType $fEqTenType $fShowTenType$fGenericTenType$fHashableTenType $fEqParsable$fShowParsable$fGenericParsable$fHashableParsable$fEqArg $fShowArg $fGenericArg $fHashableArg $fEqFunction$fShowFunction$fGenericFunction$fHashableFunctionHasAliasaliasCStorageCAccRealCRealCTensorHsRepCRep FunctionName TypeCategory ReturnValue FunctionParamTextPathtextPath FileSuffixtextFileSuffix ModuleSuffix textSuffixHModulelib extensionsimportstypeDefsheader typeTemplatesuffix fileSuffixbindings modOutDir isTemplate makeModule stripModule$fHasAliasCStorage$fHasAliasCAccReal$fHasAliasCReal$fHasAliasCTensor$fIsStringModuleSuffix$fSemigroupModuleSuffix$fMonoidModuleSuffix$fOrdModuleSuffix$fReadModuleSuffix$fEqModuleSuffix$fShowModuleSuffix$fIsStringFileSuffix$fSemigroupFileSuffix$fMonoidFileSuffix$fOrdFileSuffix$fReadFileSuffix$fEqFileSuffix$fShowFileSuffix$fIsStringTextPath$fSemigroupTextPath$fMonoidTextPath $fOrdTextPath$fReadTextPath $fEqTextPath$fShowTextPath $fShowHModule$fShowFunctionName$fEqFunctionName$fOrdFunctionName$fIsStringFunctionName$fHashableFunctionName $fShowCRep$fEqCRep $fOrdCRep$fIsStringCRep$fHashableCRep $fShowHsRep $fEqHsRep $fOrdHsRep$fIsStringHsRep$fHashableHsRep $fEqCTensor $fOrdCTensor$fGenericCTensor$fHashableCTensor $fShowCTensor $fEqCReal $fOrdCReal$fGenericCReal$fHashableCReal $fShowCReal $fEqCAccReal $fOrdCAccReal$fGenericCAccReal$fHashableCAccReal$fShowCAccReal $fEqCStorage $fOrdCStorage$fGenericCStorage$fHashableCStorage$fShowCStoragerender renderTenType renderCType type2real type2hsreal type2accreal checkFunctionSigTypeIsFunIsFunPtr haskellSigmkHsname renderSig $fEqSigType $fOrdSigType $fShowSigTypeptrptr2tentypesctypesgenericParsers typeParser forLibraries parsabletypesapi semicolon functionArg functionArgsgenericPrefixesfunction inlineCommentcommentparserconstantskiprenderFunctionswriteHaskellModule parseFile HeaderFilefilesversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName