********************* loaddefs link d_Qtest 'arrays atomic/arrays atomic- data templates.ndf' change ALL test #'s for tstStandard, geany must be in order for using sed to change test numbers, see : 14Sep2022 "$d_Qtest"'arrays atomic/arrays atomic- testOptrs.ndf' - continue work on this a bit before goint to fileops aryTstDat_tbl := - data for [itm, ary]_posn[*]InTop_ary tests, note itm is arg1, ary is arg2 ary1Arg_datStd := - higher D data for ary_[slc, split, cut, keep, insert] tests (not so much lists) tblFaultTst_datStd := - data for standard table tests to ensure proper faults result tblTst_datStd := - data for standard table tests mktTblTst := [symbol, dateRange, key stat]s, used mostly by plot_detrend produces [mktRowTitLTst, mktColTitLTst, mktDataTst] bolUnix = boolean for unix dates in data file (milliseconds since 01Jan1971) tblSolPassTst := - output table with cells of [solitary, pass] value rateSemiLogL_to_rateNormalL - handy comparison of "normal interest rates" and "smiLog slope" math derivations, see "$d_webRawe"'Projects - mini/Puetz & Borchardt/0_Puetz & Borchardt notes.txt' QNial program, see "$d_Qmkts"'rates - normal versus semi-log.ndf' ********************* loaddefs link d_Qtest 'arrays/arrays atomic- testOptrs.ndf' Setup (kind of like header info) change ALL test #'s for tstStandard, geany must be in order for using sed to change test numbers, see : 14Sep2022 "$d_Qtest"'arrays/arrays atomic- testOptrs.ndf' - continue work on this a bit before going to fileops +-----+ [is, check] tests : (24Nov2021 no formal tests yet - just in ndf files) +-----+ Array restructure [to,from] cart [atm, str, lst, ary] : aryA_catVertical_testSpecial IS - aryA_catHorizontal_testSpecial IS - ary_to_atmL_testBash := - convert ary to a list of atoms ary_to_atmL_testSimple := - convert ary to a list of atoms ary_atm_replaceAllAtm_aryOut_testSimple := - build new array by replacing all atoms of ary with atm aryP_transStr_isSameStruct_testSimple := - use different transformers with the same test data for comparison of ary structures ary_allAtmsUnique_bol_testSimple := - res ipsa loquitor ary_allItmsUnique_bol_testSimple := - res ipsa loquitor +-----+ idxL positions of [itm, sub]s in aryTop : ary_idx_compatible_chk IS OP ary idx - only for ary_compatible_idx_chk_testSimple ary_idx_compatible_chk_testSimple := - convert idxA to slc ary_itm_get_idxL_chk_testSimple := - returns LIST of Substr positions in Str, or an error ary_itm_get_idxL_chk_testStd := - returns LIST of Substr positions in Str, or faultL ary_sub_get_idx1stL_chk IS OP ary sub - res ipsa loquitor ary_sub_get_idx1stL_chk_testStd := - results and comments ary_sub_get_idx1stL_chk_testSimple := - results and comments this set is specifically for "up-dimensioned" subs ary_sub_get_idxL_chk IS OP ary sub - res ipsa loquitor ary_sub_get_idxL_chk_testStd := - returns list of Substr positions in Str, or an error ary_sub_get_idxL_chk_testSimple := - returns list of Substr positions in Str, or an error +-----+ slcL positions of [itm, sub]s in aryTop : ary_itm_get_slcL_chk IS OP ary itm - only for ary_itm_get_slcL_chk_testSimple special form of ary_itm_get_slcL for testing ary_itm_get_slcL_chk_testSimple IS OP ary itm - all axis-indexes containing itm note the very struct formating of slices!!! ary_sub_get_slcL_chk IS OP ary sub - only for ary_sub_get_slcL_chk_testSimple ary_sub_get_slcL_chk_testSimple IS OP sub ary - all axis-indexes containing sub +-----+ [idx, slc] cart [convert, invert] : 03-06May2022 still don't understand solitarys properly, this is problematic!! ary_idx_to_slc_chk IS OP ary idx - only for ary_idx_to_slc_chk_testSimple ary_idx_to_slc_chk_testSimple := - convert idx to slc ary_idxSeq_to_slc_chk IS OP ary idxSeq - only for ary_idxSeq_to_slc_chk_testSimple ary_idxSeq_to_slc_chk_testSimple := - convert idxSeq to slc ary_slc_to_idxA_chk IS OP ary slc - only for ary_slc_to_idxA_chk_testSimple ary_slc_to_idxA_chk_testSimple := - convert idxA to slc ary_itm_get_slcL_to_itmL_chk IS OP ary itm - only for ary_itm_get_slcL_to_itmL_chk_testSimple ary_itm_get_slcL_to_itmL_chk_testSimple IS OP itm ary - calc AllSlc then find itm ary_invert_slc_testSimple IS OP ary slcL - returns the "inverse axis-sliceIdxL", intended for [cut etc] ary_invert_slcA_testSimple IS OP ary slcA - returns the "inverse axis-sliceA", intended for [cut etc] +-----+ get [itm, sub] based on [idx, slc] : ary_idx_get_itm_chk IS OP ary idx - only for ary_idx_get_itm_chk_testSimple ary_idx_get_itm_chk_testSimple := - tests that [ix, ary] "fit", then applies optr MISSING - optrs to get subs!!! : ary_idxL_get_sub_chk IS OP ary idxL - only for ary_idx_get_itm_chk_testSimple ary_idxL_get_sub_chk_testSimple := - tests that [ix, ary] "fit", then applies optr +-----+ split[Separate,[At[Front,End]], ] : ary_sub_splitSeparate_subL_testSimple := - sub splits ary, sub as separate itm ary_sub_splitSeparate_subL_testStd := - sub splits ary, sub as separate itm ary_sub_splitAtEnd_subL_testStd := - splits str at each point that subStr occurs, subStr at end of previous ary_sub_splitAtEnd_subL_testSimple := - splits str at each point that subStr occurs, subStr at end of previous ary_sub_splitAtFront_subL_testStd := - splits str at each point that subStr occurs, subStr separate ary_sub_splitAtFront_subL_testSimple := - splits str at each point that subStr occurs, subStr separate ary_subL_splitSeparate_subLL_testSimple := - iteratively split ary at each point that a sub of subL occurs ary_subL_splitAtEnd_subLL_testSimple := - iteratively split ary at each point that a sub of subL occurs ary_subL_splitAtFront_subL_testSimple := - iteratively split ary at each point that a sub of subL occurs ary_subP_splitSeparateTo_midIdxs_subL_testSimple := - splits S2 at each point that S1 occurs, S1 separate ary_subL_getLenMatchesTo_subPL_testSimple := - return (str = link subStrPairs) +-----+ [get, put]*[itm, slc, sub] - produce aryOut of same shape : ary_strip_sub_testSimple := - removes subStr from str ary_subP_put_aryOut_testSimple := - substitutes sub_new for sub_old in str aryA_get_idxOdd_testSpecial IS - res ipsa loquitor +-----+ [cut, get, insert, pad, strip, take]*[itm, slc, sub] - produce aryOut of different shape : ary_itm_cut_subL_testSimple := - cut a string at each chr, omitting chr ary_sub_cut_subL_testSimple := - splits str at each point that subStr occurs, omit subStr ary_itmL_cut_subLLL_testSimple := - cut each strL by all chrL, omitting chrL, lists only (not arys) +-----+ [sort, cull] aryL : 22Feb2022 no tests yet! aryA_sortupOn1st IS OP aryA - EACH sortup set of aryL based on first array aryA_sortupOn_col IS OP colNum aryA - EACH sortup set of aryL based on colNum aryA_sortupCullOn1st IS OP aryA - EACH [sortup,cull] set of aryL based on first array Cull QNial Definition - cull IS OPERATION A {­ grid A EACHLEFT in (A EACHLEFT find A) subarray A } strPL_sortCullUnique IS OP strPairL - sort, then cull to get a unique array of strPairs aryPL_sortCullUnique IS OP strPairL - sort, then cull to get a unique array of strPairs +-----+ ary_itm_option_cull_aryOut : 22Feb2022 no tests yet! ary_itm_option_cull_aryOut IS OP itm option ary - cull ary with itm, according to option [hold, cut, get] ary_itmL_option_cull_aryOut IS OP itmL option ary - cull ary with itmL, according to option [hold, cut, get] ary_itmL_option_cull_aryOutL IS OP itmL option aryA - cut each aryA by all itmL, omitting itmL +-----+ Tables, titles - tables are 2D arys with [row, col] titles nCols_labldDat_make_tbl_testSpecial IS - process loaddef of table with column headers (nyet - garbage?) tbl_titLL_get_sub_testSimple := - returns subTbl of rows with key in colTitL (OR) if key = null, just selects colTitL tbl_titLL_get_sub_testSpecial IS - returns subTbl of rows with key in colTitL (OR) if key = null, just selects colTitL tbl_keyTitLL_keyItmL_get_sub_testSimple := - returns a subTbl of key-selected rows tbl_keyTitLL_keyItmL_get_sub_testSpecial IS - returns subTbl of cols with key in rowTitL (OR) if key = null, just selects rowTitL tbl_keyTitLL_keyItmL_get_sub_testSpecial IS - returns a subTbl of key-selected rows tbl_keyTitLL_keyItmL_get_sub_testSpecial IS - returns a subTbl of key-selected rows tbl_keyAxiTit_selAxiTitL_get_itmLL_testSpecial IS - returns a list of lists of keyItm hits, do NOT (solitary keyItm)! tblDat_titLL_make_tbl_testSimple := tblDat_titLL_make_tbl_testSpecial IS - tblWhole_make_tbl_testSpecial IS - split tbl into 3 parts tbl_writeSolPassCells_testSpecial IS - output table with cells of [solitary, pass] value +-----+ Database queries (sort of) aryL_keyLIdx_cullSort_testSpecial IS - res ipsa loquitor aryL_keyLIdx_cullSort_testSpecial IS - aryL_extractMulplicate_subArys_testSpecial IS - res ipsa loquitor +-----+ transformers - normal TRANSFORMERs, as well as "generalised transformer" OPERATORs opPhr_ary_LEAFputWith_aryStatic_tables IS OP optrPhr dat_tbl allTr_tbl outRpt - calculate optr-specific table of data & results, augment overall tables opPhr_ary_LEAFputWith_aryStatic_testSimple := - boolean indication of whether any of chrA are in strA LEAF_aryInn_aryStatic_testSimple := - boolean indication of whether any of chrA are in strA ********************* loaddefs link d_Qtest 'arrays atomic/arrays atomic- testGroupsCluster.ndf' ary_restruct_groupTest := - ary [to, join, [re, isSame]structure] ary_idxSlc_groupTest := - Position of [chrs, sub-strings, etc] ary_convert_idxSlc_groupTest := - slc = INDEX of "full-and-all-axis" sub of an array : (22Feb2022 - no tests yet) ary_get_itmSub_groupTest := - slc = INDEX of "full-and-all-axis" sub of an array : ary_split_groupTest := - split[Separate,[At[Front,End]], ] ary_hold_groupTest := - [hold, insert, pad, replace, strip] [itm, slc, sub], result is unified ary ary_cut_groupTest := - [cut, get, strip] [itm, slc, sub, width] - return list ary_sort_groupTest := - [sort, cull] aryL : 22Feb2022 no tests yet! ary_cullOption_groupTest := - [sort, cull] aryL - 22Feb2022 no tests yet! tbl_groupTest IS - res ipsa loquitor ary_database_groupTest := - database queries (sort of) ary_transformer_groupTest := - normal TRANSFORMERs, as well as "generalised transformer" (OPERATORs) arrays_testCluster := - run ALL string tests