[R-SIG-Mac] memory leak in Ryacas?

Carl Witthoft ce||ocgw @end|ng |rom gm@||@com
Wed Sep 23 16:51:56 CEST 2026


Wondering if anyone else has seen this:
I am running an iMac M4, Sequoia 15.7.9  and R 4.6.1 .

I notice that every call to yac_str   increases the memory usage as
reported with the MacOS Activity Monitor.  Running gc() doesn't change
anything.

The function I hacked together :

fibinet <- function(fidx = 5) {
if(is.numeric(fidx)) {
        fidx <- as.character(trunc(fidx))
    }
# loop over length(fidx)
fout <- as.bigz(rep(0,length=length(fidx)))
    for(jf in 1:length(fidx)) {
        foo <- paste0('Simplify(1/k* (  ( (1 + k)/2)^', fidx[jf], '- ((1 -
k)/2)^', fidx[jf], ' ) )')
        bar <- yac_str(foo)
        foob <- gsub('[/]([0-9]{1,})','/as.bigz("\\1")',bar)
        foond <- unlist(strsplit(foob,'/'))

        foos <- unlist(strsplit(foond[1], '\\^'))
# "fix" first element as it's not in the loop
        foos[1] <- '(1'
# need to fix the final numerator element's ')'
        foos[length(foos)] <- gsub(')','',foos[length(foos)] )
        for(jp in 2:(length(foos))) {
            pxe <- regmatches(foos[jp],regexpr('^[0-9]{1,}',foos[jp]) )
            # that gets the exponent as a string
            fxe <- as.character(as.numeric(pxe)/2)
            foos[jp] <- gsub(paste0('^',pxe),paste0('^',fxe), foos[jp])
            # except that those coefficients in numerator exceed maxInt, so
have to fix them
        # one by one as well.  ewwww
            pxc <- unlist(strsplit(foos[jp],'[+]'))
            pxc[2] <- gsub('[*]k','',pxc[2])
            fxc <- paste0('*k',pxc[1], '+as.bigz("', pxc[2],'")')
            foos[jp] <- fxc
            } #end jp loop
    foof <- paste0(c(foos,')'),collapse='',sep='')
    foof <- gsub('k','5',foof)
    fout[jf] <- eval(parse(t= paste0(foof,'/',foond[2])))
    }    #end jf loop
return(invisible(list(idx=fidx,valx=fout)))
}

	[[alternative HTML version deleted]]



More information about the R-SIG-Mac mailing list