exp, map
This commit is contained in:
parent
dac9ccf109
commit
e66aa40a16
10
main.py
10
main.py
@ -1,5 +1,4 @@
|
|||||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||||
import math
|
|
||||||
import random
|
import random
|
||||||
|
|
||||||
from bu4.common_interface import with_common_interface
|
from bu4.common_interface import with_common_interface
|
||||||
@ -9,7 +8,6 @@ from bu4.evaluation.synced import synced
|
|||||||
from bu4.parsing.toolchain.readfile import readfile
|
from bu4.parsing.toolchain.readfile import readfile
|
||||||
from timesample import TimeSample
|
from timesample import TimeSample
|
||||||
|
|
||||||
|
|
||||||
with TimeSample('all'):
|
with TimeSample('all'):
|
||||||
with TimeSample('sys0'):
|
with TimeSample('sys0'):
|
||||||
with TimeSample('compilation'):
|
with TimeSample('compilation'):
|
||||||
@ -58,10 +56,8 @@ with TimeSample('all'):
|
|||||||
TimeSample.print(sys3)
|
TimeSample.print(sys3)
|
||||||
with TimeSample('sys1'):
|
with TimeSample('sys1'):
|
||||||
sys1 = with_common_interface(synced(readfile('src/sys1')))
|
sys1 = with_common_interface(synced(readfile('src/sys1')))
|
||||||
a_ = random.randrange(2 ** 16)
|
sys1 = sync(sys1.call(eproxy(5)))
|
||||||
b_ = random.randrange(2 ** 16)
|
sys1 = sync(sys1.call(eproxy(6)))
|
||||||
sys1 = sync(sys1.call(eproxy(a_)))
|
TimeSample.print(sys1)
|
||||||
sys1 = sync(sys1.call(eproxy(b_)))
|
|
||||||
TimeSample.print(sys1, math.gcd(a_, b_))
|
|
||||||
with TimeSample('sys4'):
|
with TimeSample('sys4'):
|
||||||
TimeSample.print(with_common_interface(synced(readfile('src/sys4'))))
|
TimeSample.print(with_common_interface(synced(readfile('src/sys4'))))
|
||||||
|
15
manual/main.md
Normal file
15
manual/main.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
```bu4
|
||||||
|
/[method][object]
|
||||||
|
```
|
||||||
|
```bu4
|
||||||
|
/[object][virtual]
|
||||||
|
```
|
||||||
|
```bu4
|
||||||
|
/
|
||||||
|
[accumulated]
|
||||||
|
/
|
||||||
|
[accumulated]
|
||||||
|
/
|
||||||
|
[accumulated]
|
||||||
|
[accumulator]
|
||||||
|
```
|
@ -1,6 +1,7 @@
|
|||||||
@b!
|
@b!
|
||||||
@01
|
@01
|
||||||
@zq
|
@zq
|
||||||
|
@lb
|
||||||
@double
|
@double
|
||||||
@bitwise/@
|
@bitwise/@
|
||||||
@arithmetic/@
|
@arithmetic/@
|
||||||
|
8
src/binary/lb.bu4
Normal file
8
src/binary/lb.bu4
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
(b)
|
||||||
|
/(zq)(lb)(hb!)
|
||||||
|
[lb]
|
||||||
|
[b]
|
||||||
|
|
|
||||||
|
b_lb
|
||||||
|
}
|
@ -4,3 +4,4 @@
|
|||||||
@push
|
@push
|
||||||
@length
|
@length
|
||||||
@reduce
|
@reduce
|
||||||
|
@map
|
||||||
|
43
src/collections/deque/map.bu4
Normal file
43
src/collections/deque/map.bu4
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
(map)
|
||||||
|
/(dequeMap)
|
||||||
|
(isEmpty)(lPopped)(lItem)(rPopped-unused)(rItem-unused)
|
||||||
|
/
|
||||||
|
{ /[dequeMap][lPopped] | lPMapped }
|
||||||
|
/(isEmptyL)(lPoppedL-unused)(lItemL-unused)(rPoppedL)(rItemL)
|
||||||
|
{ /[lItem][map] | item }
|
||||||
|
/
|
||||||
|
(g) /[rItemL]/</[item]/[rPoppedL][dequeLPush]>/[item]/[lPMapped]/[0] [g]
|
||||||
|
/
|
||||||
|
/[item][dequeSingle]
|
||||||
|
[isEmptyL]
|
||||||
|
[lPMapped]
|
||||||
|
/
|
||||||
|
[dequeEmpty]
|
||||||
|
[isEmpty]
|
||||||
|
[YC]
|
||||||
|
|
|
||||||
|
dequeLMap
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
(map)
|
||||||
|
/(dequeMap)
|
||||||
|
(isEmpty)(lPopped-unused)(lItem-unused)(rPopped)(rItem)
|
||||||
|
/
|
||||||
|
{ /[dequeMap][rPopped] | rPMapped }
|
||||||
|
/(isEmptyR)(lPoppedR)(lItemR)(rPoppedR-unused)(rItemL-unused)
|
||||||
|
{ /[rItem][map] | item }
|
||||||
|
/
|
||||||
|
(g) /[item]/[rPMapped]/[lItemR]/</[item]/[lPoppedR][dequeRPush]>/[0] [g]
|
||||||
|
/
|
||||||
|
/[item][dequeSingle]
|
||||||
|
[isEmptyR]
|
||||||
|
[rPMapped]
|
||||||
|
/
|
||||||
|
[dequeEmpty]
|
||||||
|
[isEmpty]
|
||||||
|
[YC]
|
||||||
|
|
|
||||||
|
dequeRMap
|
||||||
|
}
|
@ -4,3 +4,4 @@
|
|||||||
@id
|
@id
|
||||||
@collector
|
@collector
|
||||||
@compose
|
@compose
|
||||||
|
@extract
|
||||||
|
1
src/core/extract.bu4
Normal file
1
src/core/extract.bu4
Normal file
@ -0,0 +1 @@
|
|||||||
|
{ (method)(object) /[method][object] | extract }
|
@ -1 +1,2 @@
|
|||||||
@gcd
|
@gcd
|
||||||
|
@exp
|
||||||
|
29
src/math/exp.bu4
Normal file
29
src/math/exp.bu4
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
(_mul)(_zq)(_lb)(_halve)(_1)
|
||||||
|
/(exp)
|
||||||
|
(_e)
|
||||||
|
/
|
||||||
|
{ /</[_e][_halve]>[exp] | _hexp}
|
||||||
|
(_x)
|
||||||
|
/
|
||||||
|
/
|
||||||
|
[_1]
|
||||||
|
/
|
||||||
|
[_x]
|
||||||
|
/[_e][_lb]
|
||||||
|
/
|
||||||
|
{ /[_x][_hexp] | _hexpx }
|
||||||
|
/
|
||||||
|
[_hexpx]
|
||||||
|
/
|
||||||
|
[_hexpx]
|
||||||
|
[_mul]
|
||||||
|
[_mul]
|
||||||
|
/
|
||||||
|
(_x)
|
||||||
|
[_1]
|
||||||
|
/[_e][_zq]
|
||||||
|
[YC]
|
||||||
|
|
|
||||||
|
_exp
|
||||||
|
}
|
@ -4,6 +4,7 @@
|
|||||||
@ci
|
@ci
|
||||||
|
|
||||||
{ /[b_zq]/[b_div][_gcd] | gcd }
|
{ /[b_zq]/[b_div][_gcd] | gcd }
|
||||||
|
{ /[b1]/[b_halve]/[b_lb]/[b_zq]/[b_mul][_exp] | exp }
|
||||||
|
|
||||||
(a)(b)
|
(a)(b)
|
||||||
|
|
||||||
@ -12,6 +13,6 @@
|
|||||||
/[b][n_to_b]
|
/[b][n_to_b]
|
||||||
/
|
/
|
||||||
/[a][n_to_b]
|
/[a][n_to_b]
|
||||||
[gcd]
|
[exp]
|
||||||
[b_to_n]
|
[b_to_n]
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
@ -7,6 +7,6 @@
|
|||||||
{ /[b7]//[b1]//[b5]/[dequeEmpty][dequeLPush][dequeLPush][dequeLPush] | deque }
|
{ /[b7]//[b1]//[b5]/[dequeEmpty][dequeLPush][dequeLPush][dequeLPush] | deque }
|
||||||
|
|
||||||
/
|
/
|
||||||
/</[b0]/[b_add][dequeLReduce]>[deque]
|
/</[b0]/[b_add][dequeLReduce]>//[b_double][dequeRMap]//[b_double][dequeLMap][deque]
|
||||||
[b_to_n]
|
[b_to_n]
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
Loading…
Reference in New Issue
Block a user