{"id":"https://openalex.org/W4410120922","doi":"https://doi.org/10.1145/3734692","title":"Algorithm 1057: FunC: A Minimally Invasive C++ Library for the Generation and Analysis of Univariate Lookup Tables","display_name":"Algorithm 1057: FunC: A Minimally Invasive C++ Library for the Generation and Analysis of Univariate Lookup Tables","publication_year":2025,"publication_date":"2025-05-06","ids":{"openalex":"https://openalex.org/W4410120922","doi":"https://doi.org/10.1145/3734692"},"language":"en","primary_location":{"id":"doi:10.1145/3734692","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3734692","pdf_url":null,"source":{"id":"https://openalex.org/S163326656","display_name":"ACM Transactions on Mathematical Software","issn_l":"0098-3500","issn":["0098-3500","1557-7295"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Mathematical Software","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5055460434","display_name":"Shawn S.C. McAdam","orcid":null},"institutions":[{"id":"https://openalex.org/I32625721","display_name":"University of Saskatchewan","ror":"https://ror.org/010x8gc63","country_code":"CA","type":"education","lineage":["https://openalex.org/I32625721"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Shawn S. C. McAdam","raw_affiliation_strings":["Mathematics and Statistics, University of Saskatchewan, Saskatoon, Saskatchewan, Canada","University of Saskatchewan, Canada"],"affiliations":[{"raw_affiliation_string":"Mathematics and Statistics, University of Saskatchewan, Saskatoon, Saskatchewan, Canada","institution_ids":["https://openalex.org/I32625721"]},{"raw_affiliation_string":"University of Saskatchewan, Canada","institution_ids":["https://openalex.org/I32625721"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5084076822","display_name":"Raymond J. Spiteri","orcid":"https://orcid.org/0000-0002-3513-6237"},"institutions":[{"id":"https://openalex.org/I32625721","display_name":"University of Saskatchewan","ror":"https://ror.org/010x8gc63","country_code":"CA","type":"education","lineage":["https://openalex.org/I32625721"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Raymond J. Spiteri","raw_affiliation_strings":["Computer Science, University of Saskatchewan, Saskatoon, Saskatchewan, Canada","University of Saskatchewan, Canada"],"affiliations":[{"raw_affiliation_string":"Computer Science, University of Saskatchewan, Saskatoon, Saskatchewan, Canada","institution_ids":["https://openalex.org/I32625721"]},{"raw_affiliation_string":"University of Saskatchewan, Canada","institution_ids":["https://openalex.org/I32625721"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5055460434"],"corresponding_institution_ids":["https://openalex.org/I32625721"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.04748743,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"51","issue":"2","first_page":"1","last_page":"30"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T13398","display_name":"Data Analysis with R","score":0.98580002784729,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T13398","display_name":"Data Analysis with R","score":0.98580002784729,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12205","display_name":"Time Series Analysis and Forecasting","score":0.9843000173568726,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9732999801635742,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/univariate","display_name":"Univariate","score":0.8650336265563965},{"id":"https://openalex.org/keywords/lookup-table","display_name":"Lookup table","score":0.6136632561683655},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5886489748954773},{"id":"https://openalex.org/keywords/univariate-analysis","display_name":"Univariate analysis","score":0.5816154479980469},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3987100422382355},{"id":"https://openalex.org/keywords/multivariate-analysis","display_name":"Multivariate analysis","score":0.1401827335357666},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.13085755705833435},{"id":"https://openalex.org/keywords/multivariate-statistics","display_name":"Multivariate statistics","score":0.08598262071609497},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.06662705540657043}],"concepts":[{"id":"https://openalex.org/C199163554","wikidata":"https://www.wikidata.org/wiki/Q1681619","display_name":"Univariate","level":3,"score":0.8650336265563965},{"id":"https://openalex.org/C134835016","wikidata":"https://www.wikidata.org/wiki/Q690265","display_name":"Lookup table","level":2,"score":0.6136632561683655},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5886489748954773},{"id":"https://openalex.org/C144301174","wikidata":"https://www.wikidata.org/wiki/Q7893852","display_name":"Univariate analysis","level":3,"score":0.5816154479980469},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3987100422382355},{"id":"https://openalex.org/C38180746","wikidata":"https://www.wikidata.org/wiki/Q1952580","display_name":"Multivariate analysis","level":2,"score":0.1401827335357666},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.13085755705833435},{"id":"https://openalex.org/C161584116","wikidata":"https://www.wikidata.org/wiki/Q1952580","display_name":"Multivariate statistics","level":2,"score":0.08598262071609497},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.06662705540657043}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3734692","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3734692","pdf_url":null,"source":{"id":"https://openalex.org/S163326656","display_name":"ACM Transactions on Mathematical Software","issn_l":"0098-3500","issn":["0098-3500","1557-7295"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Mathematical Software","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":10,"referenced_works":["https://openalex.org/W65339224","https://openalex.org/W1989774703","https://openalex.org/W2130694104","https://openalex.org/W2412589610","https://openalex.org/W2941248845","https://openalex.org/W2948599014","https://openalex.org/W3124903422","https://openalex.org/W3136446618","https://openalex.org/W4248627305","https://openalex.org/W4256443609"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W1828158523","https://openalex.org/W2047547195","https://openalex.org/W204175656","https://openalex.org/W2803255289","https://openalex.org/W1512294453","https://openalex.org/W1993992974","https://openalex.org/W2079583649"],"abstract_inverted_index":{"A":[0,37],"Lookup":[1],"Table":[2],"(LUT)":[3],"is":[4,42,195],"a":[5,18,30,43,66,124,129,146],"computationally":[6,13],"inexpensive":[7],"piecewise":[8,44,47],"function":[9,175],"used":[10],"to":[11,28,70,111,126,186],"approximate":[12],"expensive":[14],"mathematical":[15,174],"functions.":[16],"Evaluating":[17],"LUT":[19,41,115],"can":[20,54,88,104,171],"be":[21,56],"as":[22,24],"quick":[23],"using":[25],"Horner\u2019s":[26],"method":[27],"evaluate":[29,172],"polynomial":[31],"after":[32],"looking":[33],"up":[34],"its":[35],"coefficients.":[36],"common":[38],"choice":[39],"of":[40,63,74,131,145,176],"constant":[45],"or":[46],"linear":[48],"function;":[49],"however,":[50],"high-degree":[51],"interpolating":[52],"polynomials":[53],"also":[55],"valuable.":[57],"Here,":[58],"we":[59],"describe":[60],"the":[61,72,142,150,158,169,173,183,192],"functionality":[62],"FunC":[64,86,102,135],"2.0,":[65],"C++":[67],"library":[68],"designed":[69],"streamline":[71],"process":[73],"building,":[75],"comparing,":[76],"and":[77,96,117,121,191],"implementing":[78],"univariate":[79],"LUTs":[80,92],"in":[81,138],"practical":[82],"applications.":[83],"In":[84],"particular,":[85],"2.0":[87,103],"build":[89,105],"relatively":[90],"small":[91],"satisfying":[93],"user-provided":[94],"absolute":[95],"relative":[97],"tolerances":[98,118],"for":[99,119],"error.":[100],"Furthermore,":[101],"nonuniform":[106],"LUTs,":[107],"it":[108,122],"provides":[109,123],"utilities":[110],"quickly":[112,127],"determine":[113],"reasonable":[114],"bounds":[116],"error,":[120],"way":[125],"profile":[128],"set":[130],"LUTs.":[132],"We":[133],"demonstrate":[134],"\u2019s":[136],"utility":[137],"application":[139],"by":[140,149],"reducing":[141],"total":[143],"runtime":[144],"simulation":[147,156,194],"performed":[148],"Canadian":[151],"Hydrological":[152],"Model":[153],"(CHM).":[154],"This":[155],"modeled":[157],"snow":[159],"mass":[160],"distribution":[161],"across":[162],"Western":[163],"Canada":[164],"over":[165],"1":[166],"month.":[167],"Now,":[168],"CHM":[170],"interest":[177],"about":[178,196],"28":[179],"times":[180,189],"faster,":[181,190],"allowing":[182],"necessary":[184],"algorithm":[185],"finish":[187],"two":[188],"overall":[193],"9%":[197],"faster.":[198]},"counts_by_year":[],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-05-07T00:00:00"}
