Merge branch 'master' of git://factorcode.org/git/factor
commit
b7ac44cfd4
|
@ -64,7 +64,7 @@ HELP: combination
|
|||
{ $description "Outputs the " { $snippet "mth" } " lexicographical combination of " { $snippet "seq" } " choosing " { $snippet "k" } " elements." }
|
||||
{ $notes "Combinations are 0-based and a bounds error will be thrown if " { $snippet "m" } " is larger than " { $snippet "seq length k nCk" } "." }
|
||||
{ $examples
|
||||
{ $example "USING: math.combinatorics prettyprint ;"
|
||||
{ $example "USING: math.combinatorics sequences prettyprint ;"
|
||||
"6 7 iota 4 combination ." "{ 0 1 3 6 }" }
|
||||
{ $example "USING: math.combinatorics prettyprint ;"
|
||||
"0 { \"a\" \"b\" \"c\" \"d\" } 2 combination ." "{ \"a\" \"b\" }" }
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
USING: math.combinatorics math.combinatorics.private tools.test ;
|
||||
USING: math.combinatorics math.combinatorics.private tools.test sequences ;
|
||||
IN: math.combinatorics.tests
|
||||
|
||||
[ 1 ] [ 0 factorial ] unit-test
|
||||
|
|
|
@ -35,7 +35,7 @@ inline static void *get_call_target(cell return_address)
|
|||
check_call_site(return_address);
|
||||
|
||||
cell insn = *(cell *)return_address;
|
||||
cell unsigned_addr = (insn & B_MASK);
|
||||
cell unsigned_addr = (insn & b_mask);
|
||||
fixnum signed_addr = (fixnum)(unsigned_addr << 6) >> 6;
|
||||
return (void *)(signed_addr + return_address);
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ inline static void set_call_target(cell return_address, void *target)
|
|||
cell insn = *(cell *)return_address;
|
||||
|
||||
fixnum relative_address = ((cell)target - return_address);
|
||||
insn = ((insn & ~B_MASK) | (relative_address & B_MASK));
|
||||
insn = ((insn & ~b_mask) | (relative_address & b_mask));
|
||||
*(cell *)return_address = insn;
|
||||
|
||||
/* Flush the cache line containing the call we just patched */
|
||||
|
|
Loading…
Reference in New Issue