tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
|
|
@ -0,0 +1,51 @@
|
|||
RAII-class create Err {
|
||||
variable N E
|
||||
constructor {number {error 0.0}} {
|
||||
next
|
||||
namespace import ::tcl::mathfunc::* ::tcl::mathop::*
|
||||
variable N $number E [abs $error]
|
||||
}
|
||||
method p {} {
|
||||
return "$N \u00b1 $E"
|
||||
}
|
||||
|
||||
method n {} { return $N }
|
||||
method e {} { return $E }
|
||||
|
||||
method + e {
|
||||
if {[info object isa object $e]} {
|
||||
Err return [+ $N [$e n]] [hypot $E [$e e]]
|
||||
} else {
|
||||
Err return [+ $N $e] $E
|
||||
}
|
||||
}
|
||||
method - e {
|
||||
if {[info object isa object $e]} {
|
||||
Err return [- $N [$e n]] [hypot $E [$e e]]
|
||||
} else {
|
||||
Err return [- $N $e] $E
|
||||
}
|
||||
}
|
||||
method * e {
|
||||
if {[info object isa object $e]} {
|
||||
set f [* $n [$E n]]
|
||||
Err return $f [expr {hypot($E*$f/$N, [$e e]*$f/[$e n])}]
|
||||
} else {
|
||||
Err return [* $N $e] [abs [* $E $e]]
|
||||
}
|
||||
}
|
||||
method / e {
|
||||
if {[info object isa object $e]} {
|
||||
set f [/ $n [$E n]]
|
||||
Err return $f [expr {hypot($E*$f/$N, [$e e]*$f/[$e n])}]
|
||||
} else {
|
||||
Err return [/ $N $e] [abs [/ $E $e]]
|
||||
}
|
||||
}
|
||||
method ** c {
|
||||
set f [** $N $c]
|
||||
Err return $f [abs [* $f $c [/ $E $N]]]
|
||||
}
|
||||
|
||||
export + - * / **
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue