liststat.tcl
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 namespace ::math::statistics {}
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 ret ::math::statistics::filter ( type varname , type data , type expression ) {
00025 upvar $varname _x_
00026 set result {}
00027 set _x_ \$_x_
00028 set expression [uplevel subst -nocommands [list $expression]]
00029 foreach _x_ $data {
00030 # FRINK: nocheck
00031 if $expression {
00032
00033 lappend result $_x_
00034 }
00035 }
00036 return $result
00037 }
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052 ret ::math::statistics::map ( type varname , type data , type expression ) {
00053 upvar $varname _x_
00054 set result {}
00055 set _x_ \$_x_
00056 set expression [uplevel subst -nocommands [list $expression]]
00057 foreach _x_ $data {
00058 # FRINK: nocheck
00059 lappend result [expr $expression]
00060 }
00061 return $result
00062 }
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077 ret ::math::statistics::samplescount ( type varname , type list , optional expression =1 ) {
00078 upvar $varname _x_
00079 set result {}
00080 set _x_ \$_x_
00081 set expression [uplevel subst -nocommands [list $expression]]
00082 foreach data $list {
00083 set number 0
00084 foreach _x_ $data {
00085 # FRINK: nocheck
00086 if $expression {
00087 incr number
00088 }
00089 }
00090 lappend result $number
00091 }
00092 return $result
00093 }
00094
00095
00096