search for: tailr_acc

Displaying 6 results from an estimated 6 matches for "tailr_acc".

2018 Feb 27
2
Parallel assignments and goto
...nds on without diving into C? factorial <- function(n, acc = 1) { ? ? if (n == 1) acc ? ? else factorial(n - 1, n * acc) } factorial_tr_manual <- function (n, acc = 1) { ? ? repeat { ? ? ? ? if (n <= 1) ? ? ? ? ? ? return(acc) ? ? ? ? else { ? ? ? ? ? ? .tailr_n <- n - 1 ? ? ? ? ? ? .tailr_acc <- acc * n ? ? ? ? ? ? n <- .tailr_n ? ? ? ? ? ? acc <- .tailr_acc ? ? ? ? ? ? next ? ? ? ? } ? ? } } factorial_tr_automatic_1 <- function(n, acc = 1) { ? ? .tailr_n <- n ? ? .tailr_acc <- acc ? ? callCC(function(escape) { ? ? ? ? repeat { ? ? ? ? ? ? n <- .tailr_n ? ? ? ? ? ?...
2018 Feb 27
0
Parallel assignments and goto
...acc = 1) { > if (n == 1) acc > else factorial(n - 1, n * acc) > } > > factorial_tr_manual <- function (n, acc = 1) > { > repeat { > if (n <= 1) > return(acc) > else { > .tailr_n <- n - 1 > .tailr_acc <- acc * n > n <- .tailr_n > acc <- .tailr_acc > next > } > } > } > > factorial_tr_automatic_1 <- function(n, acc = 1) { > .tailr_n <- n > .tailr_acc <- acc > callCC(function(escape) { &gt...
2018 Feb 26
0
Parallel assignments and goto
...e tail recursion optimisation: factorial <- function(n, acc = 1) { ? ? if (n == 1) acc ? ? else factorial(n - 1, n * acc) } factorial_tr_manual <- function (n, acc = 1) { ? ? repeat { ? ? ? ? if (n <= 1) ? ? ? ? ? ? return(acc) ? ? ? ? else { ? ? ? ? ? ? .tailr_n <- n - 1 ? ? ? ? ? ? .tailr_acc <- acc * n ? ? ? ? ? ? n <- .tailr_n ? ? ? ? ? ? acc <- .tailr_acc ? ? ? ? ? ? next ? ? ? ? } ? ? } } factorial_tr_automatic_1 <- function(n, acc = 1) { ? ? callCC(function(escape) { ? ? ? ? repeat { ? ? ? ? ? ? if (n <= 1) { ? ? ? ? ? ? ? ? escape(acc) ? ? ? ? ? ? } else { ? ? ? ?...
2018 Feb 11
4
Parallel assignments and goto
..., acc = 1) { if (n <= 1) acc else factorial(n - 1, acc * n) } I can automatically translate this into the loop-version factorial_tr_1 <- function (n, acc = 1) { repeat { if (n <= 1) return(acc) else { .tailr_n <- n - 1 .tailr_acc <- acc * acc n <- .tailr_n acc <- .tailr_acc next } } } which will run faster and not have problems with recursion depths. However, I?m not entirely happy with this version for two reasons: I am not happy with introducing the temporary varia...
2018 Feb 11
0
Parallel assignments and goto
...(n - 1, acc * n) > } > > I can automatically translate this into the loop-version > > factorial_tr_1 <- function (n, acc = 1) > { > repeat { > if (n <= 1) > return(acc) > else { > .tailr_n <- n - 1 > .tailr_acc <- acc * acc > n <- .tailr_n > acc <- .tailr_acc > next > } > } > } > > which will run faster and not have problems with recursion depths. However, I?m not entirely happy with this version for two reasons: I am not happy w...
2018 Feb 14
0
Parallel assignments and goto
...l(n - 1, acc * n) > } > > I can automatically translate this into the loop-version > > factorial_tr_1 <- function (n, acc = 1) { > repeat { > if (n <= 1) > return(acc) > else { > .tailr_n <- n - 1 > .tailr_acc <- acc * acc > n <- .tailr_n > acc <- .tailr_acc > next > } > } > } > > which will run faster and not have problems with recursion depths. However, > I?m not entirely happy with this version for two reasons: I am n...