flat assembler
Message board for the users of flat assembler.
Index
> Heap > How large does it go? 
Author 

revolution
Can you show what the notation means? λx = ? (m) = ?
If you have some equivalent assembly code to show what is all means then even better. 

29 Nov 2016, 11:50 

YONG
Some sort of recursive function, I guess.
f(m, 0) = 2m The dot after λx probably means " * ". Needs clarification, anyway. 

29 Nov 2016, 12:42 

l4m2
Just in C/C++


29 Nov 2016, 12:49 

l4m2
Code: f(0,0)=0 f(1,0)=2 f(2,0)=4 f(3,0)=6 f(0,1)=0 f(1,1)=2 f(2,1)=8 f(3,1)=24 f(0,2)=0 f(1,2)=2 f(2,2)=2048 f(3,2)=3*2^16777267 f(0,3)=0 f(1,3)=2 f(2,3)=∏(2^2^...[i 2^'s]^2048)^C(2048,i) > 2^^2048 

29 Nov 2016, 17:50 

bitRAKE
Code: ; RAX = m ; RCX = n f: sub rcx,1 ; n1 jnc .lupe shl rax,1 ; m*2 add rcx,1 ; preserve (n) retn .lupe: push rax ; preserve loop counter .p: call f ; m=f(m,n1) sub qword [rsp],1 jnz .p add rsp,8 add rcx,1 ; preserve (n) retn If (n) is one then the shift is (m). For example, notice how: f(2,2) = f(f(2,1),1) = 8 SHL 8 = (2 SHL 2) SHL (2 SHL 2); and f(3,2) = f(f(f(3,1),1),1) = [(3 SHL 3) SHL (3 SHL 3)] SHL [(3 SHL 3) SHL (3 SHL 3)]. f(m,0) = 2m f(m,n) = f^m(m,n1) ; i.e. f(f(f(f(...f(m,n1)...,n1),n1),n1),n1) Mathematica calls this Nest[], and it call be performed with any function. ; f(m,n) = m * 2^g(m,n) : It might be more useful to just track the shift count, and multiply by (m) if the same (f) is needed. It still grows beyond numerical representation very fast. g(m,0) = 1 g(m,1) = m g(m,n) = ? 

30 Nov 2016, 04:46 

l4m2
Quote:
So is f^2(m,n) f(f(m,n),n) or f(m,f(m,n))? To avoid mixing I used lambda expression to mean the exact meaning, only lead to treating the dot as multiply. 

30 Nov 2016, 06:17 

l4m2
Seems it doesn't go so high  just near m[n]m


01 Dec 2016, 16:26 

< Last Thread  Next Thread > 
Forum Rules:

Copyright © 19992020, Tomasz Grysztar.
Powered by rwasa.