Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,25 @@
|
|||
# Exact integer versions
|
||||
proc tcl::mathfunc::P {n k} {
|
||||
set t 1
|
||||
for {set i $n} {$i > $n-$k} {incr i -1} {
|
||||
set t [expr {$t * $i}]
|
||||
}
|
||||
return $t
|
||||
}
|
||||
proc tcl::mathfunc::C {n k} {
|
||||
set t [P $n $k]
|
||||
for {set i $k} {$i > 1} {incr i -1} {
|
||||
set t [expr {$t / $i}]
|
||||
}
|
||||
return $t
|
||||
}
|
||||
|
||||
# Floating point versions using the Gamma function
|
||||
package require math
|
||||
proc tcl::mathfunc::lnGamma n {math::ln_Gamma $n}
|
||||
proc tcl::mathfunc::fP {n k} {
|
||||
expr {exp(lnGamma($n+1) - lnGamma($n-$k+1))}
|
||||
}
|
||||
proc tcl::mathfunc::fC {n k} {
|
||||
expr {exp(lnGamma($n+1) - lnGamma($n-$k+1) - lnGamma($k+1))}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
# Using the exact integer versions
|
||||
puts "A sample of Permutations from 1 to 12:"
|
||||
for {set i 4} {$i <= 12} {incr i} {
|
||||
set ii [expr {$i - 2}]
|
||||
set iii [expr {$i - int(sqrt($i))}]
|
||||
puts "$i P $ii = [expr {P($i,$ii)}], $i P $iii = [expr {P($i,$iii)}]"
|
||||
}
|
||||
puts "A sample of Combinations from 10 to 60:"
|
||||
for {set i 10} {$i <= 60} {incr i 10} {
|
||||
set ii [expr {$i - 2}]
|
||||
set iii [expr {$i - int(sqrt($i))}]
|
||||
puts "$i C $ii = [expr {C($i,$ii)}], $i C $iii = [expr {C($i,$iii)}]"
|
||||
}
|
||||
# Using the approximate floating point versions
|
||||
puts "A sample of Permutations from 5 to 15000:"
|
||||
for {set i 5} {$i <= 150} {incr i 10} {
|
||||
set ii [expr {$i - 2}]
|
||||
set iii [expr {$i - int(sqrt($i))}]
|
||||
puts "$i P $ii = [expr {fP($i,$ii)}], $i P $iii = [expr {fP($i,$iii)}]"
|
||||
}
|
||||
puts "A sample of Combinations from 100 to 1000:"
|
||||
for {set i 100} {$i <= 1000} {incr i 100} {
|
||||
set ii [expr {$i - 2}]
|
||||
set iii [expr {$i - int(sqrt($i))}]
|
||||
puts "$i C $ii = [expr {fC($i,$ii)}], $i C $iii = [expr {fC($i,$iii)}]"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue