60 lines
1.5 KiB
Text
60 lines
1.5 KiB
Text
( BernoulliList
|
|
= B Bs answer indLn indexLen indexPadding
|
|
, n numberPadding p solPos solidusPos sp
|
|
. ( B
|
|
= m A a j b
|
|
. -1:?m
|
|
& :?A
|
|
& whl
|
|
' ( 1+!m:~>!arg:?m
|
|
& ((!m+1:?j)^-1:?a)
|
|
map
|
|
$ ( (
|
|
= .(-1+!j:?j)*(!arg+-1*!a):?a
|
|
)
|
|
. !A
|
|
)
|
|
: ?A
|
|
)
|
|
& !A:? @?b
|
|
& !b
|
|
)
|
|
& -1:?n
|
|
& :?Bs
|
|
& whl
|
|
' ( 1+!n:~>!arg:?n
|
|
& B$!n !Bs:?Bs
|
|
)
|
|
& @(!arg:? [?indexLen)
|
|
& 1+!indexLen:?indexLen
|
|
& !Bs:%@(?:? "/" [?solidusPos ?) ?
|
|
& 1+!solidusPos:?solidusPos:?p
|
|
& :?sp
|
|
& whl
|
|
' (!p+-1:~<0:?p&" " !sp:?sp)
|
|
& :?answer
|
|
& whl
|
|
' ( !Bs:%?B ?Bs
|
|
& ( !B:0
|
|
| (!B:/|str$(!B "/1"):?B)
|
|
& @(!B:? "/" [?solPos ?)
|
|
& @(!arg:? [?indLn)
|
|
& !sp
|
|
: ? [(-1*!indexLen+!indLn) ?indexPadding
|
|
: ? [(-1*!solidusPos+!solPos) ?numberPadding
|
|
& "B("
|
|
!arg
|
|
")="
|
|
!indexPadding
|
|
!numberPadding
|
|
(!B:>0&" "|)
|
|
!B
|
|
\n
|
|
!answer
|
|
: ?answer
|
|
)
|
|
& -1+!arg:?arg
|
|
)
|
|
& str$!answer
|
|
)
|
|
& BernoulliList$60;
|