diff options
| author | Jay Belanger | 2007-12-29 05:33:52 +0000 |
|---|---|---|
| committer | Jay Belanger | 2007-12-29 05:33:52 +0000 |
| commit | 13eb7df084c191316e1fe4e65a92ceeb1bb08f41 (patch) | |
| tree | a7222068eb11d01ef85249c6d893b27018f82acd | |
| parent | 591b5f7a3accf5738e427a7393416ea3b6219f15 (diff) | |
| download | emacs-13eb7df084c191316e1fe4e65a92ceeb1bb08f41.tar.gz emacs-13eb7df084c191316e1fe4e65a92ceeb1bb08f41.zip | |
(calc-arithmetic-menu, calc-scientific-function-menu)
(calc-algebra-menu, calc-graphics-menu, calc-vectors-menu)
(calc-units-menu, calc-variables-menu, calc-stack-menu):
Add :active keywords.
(calc-modes-menu): Add complex formats, remaining languages.
| -rw-r--r-- | lisp/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/calc/calc-menu.el | 358 |
2 files changed, 280 insertions, 82 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ead63374b10..20e1d0a224b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -29,6 +29,10 @@ | |||
| 29 | * calc/calc-help.el (calc-d-prefix-help): Add new languages. | 29 | * calc/calc-help.el (calc-d-prefix-help): Add new languages. |
| 30 | 30 | ||
| 31 | * calc/calc-menu.el (calc-modes-menu): Add new languages. | 31 | * calc/calc-menu.el (calc-modes-menu): Add new languages. |
| 32 | (calc-arithmetic-menu, calc-scientific-function-menu) | ||
| 33 | (calc-algebra-menu, calc-graphics-menu, calc-vectors-menu) | ||
| 34 | (calc-units-menu, calc-variables-menu, calc-stack-menu): | ||
| 35 | Add :active keywords. | ||
| 32 | 36 | ||
| 33 | 2007-12-28 Dan Nicolaescu <dann@ics.uci.edu> | 37 | 2007-12-28 Dan Nicolaescu <dann@ics.uci.edu> |
| 34 | 38 | ||
diff --git a/lisp/calc/calc-menu.el b/lisp/calc/calc-menu.el index dd9ec9a2542..ca67b65abfa 100644 --- a/lisp/calc/calc-menu.el +++ b/lisp/calc/calc-menu.el | |||
| @@ -26,46 +26,58 @@ | |||
| 26 | (defvar calc-arithmetic-menu | 26 | (defvar calc-arithmetic-menu |
| 27 | (list "Arithmetic" | 27 | (list "Arithmetic" |
| 28 | (list "Basic" | 28 | (list "Basic" |
| 29 | ["-(1:)" calc-change-sign :keys "n"] | 29 | ["-(1:)" calc-change-sign |
| 30 | ["(2:) + (1:)" calc-plus :keys "+"] | 30 | :keys "n" :active (>= (calc-stack-size) 1)] |
| 31 | ["(2:) - (1:)" calc-minus :keys "-"] | 31 | ["(2:) + (1:)" calc-plus |
| 32 | ["(2:) * (1:)" calc-times :keys "*"] | 32 | :keys "+" :active (>= (calc-stack-size) 2)] |
| 33 | ["(2:) / (1:)" calc-divide :keys "/"] | 33 | ["(2:) - (1:)" calc-minus |
| 34 | ["(2:) ^ (1:)" calc-power :keys "^"] | 34 | :keys "-" :active (>= (calc-stack-size) 2)] |
| 35 | ["(2:) * (1:)" calc-times | ||
| 36 | :keys "*" :active (>= (calc-stack-size) 2)] | ||
| 37 | ["(2:) / (1:)" calc-divide | ||
| 38 | :keys "/" :active (>= (calc-stack-size) 2)] | ||
| 39 | ["(2:) ^ (1:)" calc-power | ||
| 40 | :keys "^" :active (>= (calc-stack-size) 2)] | ||
| 35 | ["(2:) ^ (1/(1:))" | 41 | ["(2:) ^ (1/(1:))" |
| 36 | (progn | 42 | (progn |
| 37 | (require 'calc-ext) | 43 | (require 'calc-ext) |
| 38 | (let ((calc-inverse-flag t)) | 44 | (let ((calc-inverse-flag t)) |
| 39 | (call-interactively 'calc-power))) | 45 | (call-interactively 'calc-power))) |
| 40 | :keys "I ^" | 46 | :keys "I ^" |
| 47 | :active (>= (calc-stack-size) 2) | ||
| 41 | :help "The (1:)th root of (2:)"] | 48 | :help "The (1:)th root of (2:)"] |
| 42 | ["abs(1:)" | 49 | ["abs(1:)" |
| 43 | (progn | 50 | (progn |
| 44 | (require 'calc-arith) | 51 | (require 'calc-arith) |
| 45 | (call-interactively 'calc-abs)) | 52 | (call-interactively 'calc-abs)) |
| 46 | :keys "A" | 53 | :keys "A" |
| 54 | :active (>= (calc-stack-size) 1) | ||
| 47 | :help "Absolute value"] | 55 | :help "Absolute value"] |
| 48 | ["1/(1:)" | 56 | ["1/(1:)" |
| 49 | (progn | 57 | (progn |
| 50 | (require 'calc-arith) | 58 | (require 'calc-arith) |
| 51 | (call-interactively 'calc-inv)) | 59 | (call-interactively 'calc-inv)) |
| 52 | :keys "&"] | 60 | :keys "&" |
| 61 | :active (>= (calc-stack-size) 1)] | ||
| 53 | ["sqrt(1:)" | 62 | ["sqrt(1:)" |
| 54 | (progn | 63 | (progn |
| 55 | (require 'calc-math) | 64 | (require 'calc-math) |
| 56 | (call-interactively 'calc-sqrt)) | 65 | (call-interactively 'calc-sqrt)) |
| 57 | :keys "Q"] | 66 | :keys "Q" |
| 67 | :active (>= (calc-stack-size) 1)] | ||
| 58 | ["idiv(2:,1:)" | 68 | ["idiv(2:,1:)" |
| 59 | (progn | 69 | (progn |
| 60 | (require 'calc-arith) | 70 | (require 'calc-arith) |
| 61 | (call-interactively 'calc-idiv)) | 71 | (call-interactively 'calc-idiv)) |
| 62 | :keys "\\" | 72 | :keys "\\" |
| 73 | :active (>= (calc-stack-size) 2) | ||
| 63 | :help "The integer quotient of (2:) over (1:)"] | 74 | :help "The integer quotient of (2:) over (1:)"] |
| 64 | ["(2:) mod (1:)" | 75 | ["(2:) mod (1:)" |
| 65 | (progn | 76 | (progn |
| 66 | (require 'calc-misc) | 77 | (require 'calc-misc) |
| 67 | (call-interactively 'calc-mod)) | 78 | (call-interactively 'calc-mod)) |
| 68 | :keys "%" | 79 | :keys "%" |
| 80 | :active (>= (calc-stack-size) 2) | ||
| 69 | :help "The remainder when (2:) is divided by (1:)"]) | 81 | :help "The remainder when (2:) is divided by (1:)"]) |
| 70 | (list "Rounding" | 82 | (list "Rounding" |
| 71 | ["floor(1:)" | 83 | ["floor(1:)" |
| @@ -73,64 +85,75 @@ | |||
| 73 | (require 'calc-arith) | 85 | (require 'calc-arith) |
| 74 | (call-interactively 'calc-floor)) | 86 | (call-interactively 'calc-floor)) |
| 75 | :keys "F" | 87 | :keys "F" |
| 88 | :active (>= (calc-stack-size) 1) | ||
| 76 | :help "The greatest integer less than or equal to (1:)"] | 89 | :help "The greatest integer less than or equal to (1:)"] |
| 77 | ["ceiling(1:)" | 90 | ["ceiling(1:)" |
| 78 | (progn | 91 | (progn |
| 79 | (require 'calc-arith) | 92 | (require 'calc-arith) |
| 80 | (call-interactively 'calc-ceiling)) | 93 | (call-interactively 'calc-ceiling)) |
| 81 | :keys "I F" | 94 | :keys "I F" |
| 95 | :active (>= (calc-stack-size) 1) | ||
| 82 | :help "The smallest integer greater than or equal to (1:)"] | 96 | :help "The smallest integer greater than or equal to (1:)"] |
| 83 | ["round(1:)" | 97 | ["round(1:)" |
| 84 | (progn | 98 | (progn |
| 85 | (require 'calc-arith) | 99 | (require 'calc-arith) |
| 86 | (call-interactively 'calc-round)) | 100 | (call-interactively 'calc-round)) |
| 87 | :keys "R" | 101 | :keys "R" |
| 102 | :active (>= (calc-stack-size) 1) | ||
| 88 | :help "The nearest integer to (1:)"] | 103 | :help "The nearest integer to (1:)"] |
| 89 | ["truncate(1:)" | 104 | ["truncate(1:)" |
| 90 | (progn | 105 | (progn |
| 91 | (require 'calc-arith) | 106 | (require 'calc-arith) |
| 92 | (call-interactively 'calc-trunc)) | 107 | (call-interactively 'calc-trunc)) |
| 93 | :keys "I R" | 108 | :keys "I R" |
| 109 | :active (>= (calc-stack-size) 1) | ||
| 94 | :help "The integer part of (1:)"]) | 110 | :help "The integer part of (1:)"]) |
| 95 | (list "Complex Numbers" | 111 | (list "Complex Numbers" |
| 96 | ["Re(1:)" | 112 | ["Re(1:)" |
| 97 | (progn | 113 | (progn |
| 98 | (require 'calc-cplx) | 114 | (require 'calc-cplx) |
| 99 | (call-interactively 'calc-re)) | 115 | (call-interactively 'calc-re)) |
| 100 | :keys "f r"] | 116 | :keys "f r" |
| 117 | :active (>= (calc-stack-size) 1)] | ||
| 101 | ["Im(1:)" | 118 | ["Im(1:)" |
| 102 | (progn | 119 | (progn |
| 103 | (require 'calc-cplx) | 120 | (require 'calc-cplx) |
| 104 | (call-interactively 'calc-im)) | 121 | (call-interactively 'calc-im)) |
| 105 | :keys "f i"] | 122 | :keys "f i" |
| 123 | :active (>= (calc-stack-size) 1)] | ||
| 106 | ["conj(1:)" | 124 | ["conj(1:)" |
| 107 | (progn | 125 | (progn |
| 108 | (require 'calc-cplx) | 126 | (require 'calc-cplx) |
| 109 | (call-interactively 'calc-conj)) | 127 | (call-interactively 'calc-conj)) |
| 110 | :keys "J" | 128 | :keys "J" |
| 129 | :active (>= (calc-stack-size) 1) | ||
| 111 | :help "The complex conjugate of (1:)"] | 130 | :help "The complex conjugate of (1:)"] |
| 112 | ["length(1:)" | 131 | ["length(1:)" |
| 113 | (progn (require 'calc-arith) | 132 | (progn (require 'calc-arith) |
| 114 | (call-interactively 'calc-abs)) | 133 | (call-interactively 'calc-abs)) |
| 115 | :keys "A" | 134 | :keys "A" |
| 135 | :active (>= (calc-stack-size) 1) | ||
| 116 | :help "The length (absolute value) of (1:)"] | 136 | :help "The length (absolute value) of (1:)"] |
| 117 | ["arg(1:)" | 137 | ["arg(1:)" |
| 118 | (progn | 138 | (progn |
| 119 | (require 'calc-cplx) | 139 | (require 'calc-cplx) |
| 120 | (call-interactively 'calc-argument)) | 140 | (call-interactively 'calc-argument)) |
| 121 | :keys "G" | 141 | :keys "G" |
| 142 | :active (>= (calc-stack-size) 1) | ||
| 122 | :help "The argument (polar angle) of (1:)"]) | 143 | :help "The argument (polar angle) of (1:)"]) |
| 123 | (list "Conversion" | 144 | (list "Conversion" |
| 124 | ["Convert (1:) to a float" | 145 | ["Convert (1:) to a float" |
| 125 | (progn | 146 | (progn |
| 126 | (require 'calc-ext) | 147 | (require 'calc-ext) |
| 127 | (call-interactively 'calc-float)) | 148 | (call-interactively 'calc-float)) |
| 128 | :keys "c f"] | 149 | :keys "c f" |
| 150 | :active (>= (calc-stack-size) 1)] | ||
| 129 | ["Convert (1:) to a fraction" | 151 | ["Convert (1:) to a fraction" |
| 130 | (progn | 152 | (progn |
| 131 | (require 'calc-ext) | 153 | (require 'calc-ext) |
| 132 | (call-interactively 'calc-fraction)) | 154 | (call-interactively 'calc-fraction)) |
| 133 | :keys "c F"]) | 155 | :keys "c F" |
| 156 | :active (>= (calc-stack-size) 1)]) | ||
| 134 | (list "Binary" | 157 | (list "Binary" |
| 135 | ["Set word size" | 158 | ["Set word size" |
| 136 | (progn | 159 | (progn |
| @@ -142,60 +165,70 @@ | |||
| 142 | (require 'calc-bin) | 165 | (require 'calc-bin) |
| 143 | (call-interactively 'calc-clip)) | 166 | (call-interactively 'calc-clip)) |
| 144 | :keys "b c" | 167 | :keys "b c" |
| 168 | :active (>= (calc-stack-size) 1) | ||
| 145 | :help "Reduce (1:) modulo 2^wordsize"] | 169 | :help "Reduce (1:) modulo 2^wordsize"] |
| 146 | ["(2:) and (1:)" | 170 | ["(2:) and (1:)" |
| 147 | (progn | 171 | (progn |
| 148 | (require 'calc-bin) | 172 | (require 'calc-bin) |
| 149 | (call-interactively 'calc-and)) | 173 | (call-interactively 'calc-and)) |
| 150 | :keys "b a" | 174 | :keys "b a" |
| 175 | :active (>= (calc-stack-size) 2) | ||
| 151 | :help "Bitwise AND [modulo 2^wordsize]"] | 176 | :help "Bitwise AND [modulo 2^wordsize]"] |
| 152 | ["(2:) or (1:)" | 177 | ["(2:) or (1:)" |
| 153 | (progn | 178 | (progn |
| 154 | (require 'calc-bin) | 179 | (require 'calc-bin) |
| 155 | (call-interactively 'calc-or)) | 180 | (call-interactively 'calc-or)) |
| 156 | :keys "b o" | 181 | :keys "b o" |
| 182 | :active (>= (calc-stack-size) 2) | ||
| 157 | :help "Bitwise inclusive OR [modulo 2^wordsize]"] | 183 | :help "Bitwise inclusive OR [modulo 2^wordsize]"] |
| 158 | ["(2:) xor (1:)" | 184 | ["(2:) xor (1:)" |
| 159 | (progn | 185 | (progn |
| 160 | (require 'calc-bin) | 186 | (require 'calc-bin) |
| 161 | (call-interactively 'calc-xor)) | 187 | (call-interactively 'calc-xor)) |
| 162 | :keys "b x" | 188 | :keys "b x" |
| 189 | :active (>= (calc-stack-size) 2) | ||
| 163 | :help "Bitwise exclusive OR [modulo 2^wordsize]"] | 190 | :help "Bitwise exclusive OR [modulo 2^wordsize]"] |
| 164 | ["diff(2:,1:)" | 191 | ["diff(2:,1:)" |
| 165 | (progn | 192 | (progn |
| 166 | (require 'calc-bin) | 193 | (require 'calc-bin) |
| 167 | (call-interactively 'calc-diff)) | 194 | (call-interactively 'calc-diff)) |
| 168 | :keys "b d" | 195 | :keys "b d" |
| 196 | :active (>= (calc-stack-size) 2) | ||
| 169 | :help "Bitwise difference [modulo 2^wordsize]"] | 197 | :help "Bitwise difference [modulo 2^wordsize]"] |
| 170 | ["not (1:)" | 198 | ["not (1:)" |
| 171 | (progn | 199 | (progn |
| 172 | (require 'calc-bin) | 200 | (require 'calc-bin) |
| 173 | (call-interactively 'calc-not)) | 201 | (call-interactively 'calc-not)) |
| 174 | :keys "b n" | 202 | :keys "b n" |
| 203 | :active (>= (calc-stack-size) 1) | ||
| 175 | :help "Bitwise NOT [modulo 2^wordsize]"] | 204 | :help "Bitwise NOT [modulo 2^wordsize]"] |
| 176 | ["left shift(1:)" | 205 | ["left shift(1:)" |
| 177 | (progn | 206 | (progn |
| 178 | (require 'calc-bin) | 207 | (require 'calc-bin) |
| 179 | (call-interactively 'calc-lshift-binary)) | 208 | (call-interactively 'calc-lshift-binary)) |
| 180 | :keys "b l" | 209 | :keys "b l" |
| 210 | :active (>= (calc-stack-size) 1) | ||
| 181 | :help "Shift (1:)[modulo 2^wordsize] one bit left"] | 211 | :help "Shift (1:)[modulo 2^wordsize] one bit left"] |
| 182 | ["right shift(1:)" | 212 | ["right shift(1:)" |
| 183 | (progn | 213 | (progn |
| 184 | (require 'calc-bin) | 214 | (require 'calc-bin) |
| 185 | (call-interactively 'calc-rshift-binary)) | 215 | (call-interactively 'calc-rshift-binary)) |
| 186 | :keys "b r" | 216 | :keys "b r" |
| 217 | :active (>= (calc-stack-size) 1) | ||
| 187 | :help "Shift (1:)[modulo 2^wordsize] one bit right, putting 0s on the left"] | 218 | :help "Shift (1:)[modulo 2^wordsize] one bit right, putting 0s on the left"] |
| 188 | ["arithmetic right shift(1:)" | 219 | ["arithmetic right shift(1:)" |
| 189 | (progn | 220 | (progn |
| 190 | (require 'calc-bin) | 221 | (require 'calc-bin) |
| 191 | (call-interactively 'calc-rshift-arith)) | 222 | (call-interactively 'calc-rshift-arith)) |
| 192 | :keys "b R" | 223 | :keys "b R" |
| 224 | :active (>= (calc-stack-size) 1) | ||
| 193 | :help "Shift (1:)[modulo 2^wordsize] one bit right, duplicating the leftmost bit"] | 225 | :help "Shift (1:)[modulo 2^wordsize] one bit right, duplicating the leftmost bit"] |
| 194 | ["rotate(1:)" | 226 | ["rotate(1:)" |
| 195 | (progn | 227 | (progn |
| 196 | (require 'calc-bin) | 228 | (require 'calc-bin) |
| 197 | (call-interactively 'calc-rotate-binary)) | 229 | (call-interactively 'calc-rotate-binary)) |
| 198 | :keys "b t" | 230 | :keys "b t" |
| 231 | :active (>= (calc-stack-size) 1) | ||
| 199 | :help "Rotate (1:)[modulo 2^wordsize] one bit left"]) | 232 | :help "Rotate (1:)[modulo 2^wordsize] one bit left"]) |
| 200 | "-------" | 233 | "-------" |
| 201 | ["Help on Arithmetic" | 234 | ["Help on Arithmetic" |
| @@ -237,69 +270,82 @@ | |||
| 237 | (require 'calc-math) | 270 | (require 'calc-math) |
| 238 | (call-interactively 'calc-ln)) | 271 | (call-interactively 'calc-ln)) |
| 239 | :keys "L" | 272 | :keys "L" |
| 273 | :active (>= (calc-stack-size) 1) | ||
| 240 | :help "The natural logarithm"] | 274 | :help "The natural logarithm"] |
| 241 | ["e^(1:)" | 275 | ["e^(1:)" |
| 242 | (progn | 276 | (progn |
| 243 | (require 'calc-math) | 277 | (require 'calc-math) |
| 244 | (call-interactively 'calc-exp)) | 278 | (call-interactively 'calc-exp)) |
| 245 | :keys "E"] | 279 | :keys "E" |
| 280 | :active (>= (calc-stack-size) 1)] | ||
| 246 | ["log(1:) [base 10]" | 281 | ["log(1:) [base 10]" |
| 247 | (progn | 282 | (progn |
| 248 | (require 'calc-math) | 283 | (require 'calc-math) |
| 249 | (call-interactively 'calc-log10)) | 284 | (call-interactively 'calc-log10)) |
| 250 | :keys "H L" | 285 | :keys "H L" |
| 286 | :active (>= (calc-stack-size) 1) | ||
| 251 | :help "The common logarithm"] | 287 | :help "The common logarithm"] |
| 252 | ["10^(1:)" | 288 | ["10^(1:)" |
| 253 | (progn | 289 | (progn |
| 254 | (require 'calc-math) | 290 | (require 'calc-math) |
| 255 | (let ((calc-inverse-flag t)) | 291 | (let ((calc-inverse-flag t)) |
| 256 | (call-interactively 'calc-log10))) | 292 | (call-interactively 'calc-log10))) |
| 257 | :keys "I H L"] | 293 | :keys "I H L" |
| 294 | :active (>= (calc-stack-size) 1)] | ||
| 258 | ["log(2:) [base(1:)]" | 295 | ["log(2:) [base(1:)]" |
| 259 | (progn | 296 | (progn |
| 260 | (require 'calc-math) | 297 | (require 'calc-math) |
| 261 | (call-interactively 'calc-log)) | 298 | (call-interactively 'calc-log)) |
| 262 | :keys "B" | 299 | :keys "B" |
| 300 | :active (>= (calc-stack-size) 2) | ||
| 263 | :help "The logarithm with an arbitrary base"] | 301 | :help "The logarithm with an arbitrary base"] |
| 264 | ["(2:) ^ (1:)" | 302 | ["(2:) ^ (1:)" |
| 265 | calc-power | 303 | calc-power |
| 266 | :keys "^"]) | 304 | :keys "^" |
| 305 | :active (>= (calc-stack-size) 2)]) | ||
| 267 | (list "Trigonometric Functions" | 306 | (list "Trigonometric Functions" |
| 268 | ["sin(1:)" | 307 | ["sin(1:)" |
| 269 | (progn | 308 | (progn |
| 270 | (require 'calc-math) | 309 | (require 'calc-math) |
| 271 | (call-interactively 'calc-sin)) | 310 | (call-interactively 'calc-sin)) |
| 272 | :keys "S"] | 311 | :keys "S" |
| 312 | :active (>= (calc-stack-size) 1)] | ||
| 273 | ["cos(1:)" | 313 | ["cos(1:)" |
| 274 | (progn | 314 | (progn |
| 275 | (require 'calc-math) | 315 | (require 'calc-math) |
| 276 | (call-interactively 'calc-cos)) | 316 | (call-interactively 'calc-cos)) |
| 277 | :keys "C"] | 317 | :keys "C" |
| 318 | :active (>= (calc-stack-size) 1)] | ||
| 278 | ["tan(1:)" | 319 | ["tan(1:)" |
| 279 | (progn | 320 | (progn |
| 280 | (require 'calc-math) | 321 | (require 'calc-math) |
| 281 | (call-interactively 'calc-tan)) | 322 | (call-interactively 'calc-tan)) |
| 282 | :keys "T"] | 323 | :keys "T" |
| 324 | :active (>= (calc-stack-size) 1)] | ||
| 283 | ["arcsin(1:)" | 325 | ["arcsin(1:)" |
| 284 | (progn | 326 | (progn |
| 285 | (require 'calc-math) | 327 | (require 'calc-math) |
| 286 | (call-interactively 'calc-arcsin)) | 328 | (call-interactively 'calc-arcsin)) |
| 287 | :keys "I S"] | 329 | :keys "I S" |
| 330 | :active (>= (calc-stack-size) 1)] | ||
| 288 | ["arccos(1:)" | 331 | ["arccos(1:)" |
| 289 | (progn | 332 | (progn |
| 290 | (require 'calc-math) | 333 | (require 'calc-math) |
| 291 | (call-interactively 'calc-arccos)) | 334 | (call-interactively 'calc-arccos)) |
| 292 | :keys "I C"] | 335 | :keys "I C" |
| 336 | :active (>= (calc-stack-size) 1)] | ||
| 293 | ["arctan(1:)" | 337 | ["arctan(1:)" |
| 294 | (progn | 338 | (progn |
| 295 | (require 'calc-math) | 339 | (require 'calc-math) |
| 296 | (call-interactively 'calc-arctan)) | 340 | (call-interactively 'calc-arctan)) |
| 297 | :keys "I T"] | 341 | :keys "I T" |
| 342 | :active (>= (calc-stack-size) 1)] | ||
| 298 | ["arctan2(2:,1:)" | 343 | ["arctan2(2:,1:)" |
| 299 | (progn | 344 | (progn |
| 300 | (require 'calc-math) | 345 | (require 'calc-math) |
| 301 | (call-interactively 'calc-arctan2)) | 346 | (call-interactively 'calc-arctan2)) |
| 302 | :keys "f T"] | 347 | :keys "f T" |
| 348 | :active (>= (calc-stack-size) 2)] | ||
| 303 | "--Angle Measure--" | 349 | "--Angle Measure--" |
| 304 | ["Radians" | 350 | ["Radians" |
| 305 | (progn | 351 | (progn |
| @@ -327,133 +373,157 @@ | |||
| 327 | (progn | 373 | (progn |
| 328 | (require 'calc-math) | 374 | (require 'calc-math) |
| 329 | (call-interactively 'calc-sinh)) | 375 | (call-interactively 'calc-sinh)) |
| 330 | :keys "H S"] | 376 | :keys "H S" |
| 377 | :active (>= (calc-stack-size) 1)] | ||
| 331 | ["cosh(1:)" | 378 | ["cosh(1:)" |
| 332 | (progn | 379 | (progn |
| 333 | (require 'calc-math) | 380 | (require 'calc-math) |
| 334 | (call-interactively 'calc-cosh)) | 381 | (call-interactively 'calc-cosh)) |
| 335 | :keys "H C"] | 382 | :keys "H C" |
| 383 | :active (>= (calc-stack-size) 1)] | ||
| 336 | ["tanh(1:)" | 384 | ["tanh(1:)" |
| 337 | (progn | 385 | (progn |
| 338 | (require 'calc-math) | 386 | (require 'calc-math) |
| 339 | (call-interactively 'calc-tanh)) | 387 | (call-interactively 'calc-tanh)) |
| 340 | :keys "H T"] | 388 | :keys "H T" |
| 389 | :active (>= (calc-stack-size) 1)] | ||
| 341 | ["arcsinh(1:)" | 390 | ["arcsinh(1:)" |
| 342 | (progn | 391 | (progn |
| 343 | (require 'calc-math) | 392 | (require 'calc-math) |
| 344 | (call-interactively 'calc-arcsinh)) | 393 | (call-interactively 'calc-arcsinh)) |
| 345 | :keys "I H S"] | 394 | :keys "I H S" |
| 395 | :active (>= (calc-stack-size) 1)] | ||
| 346 | ["arccosh(1:)" | 396 | ["arccosh(1:)" |
| 347 | (progn | 397 | (progn |
| 348 | (require 'calc-math) | 398 | (require 'calc-math) |
| 349 | (call-interactively 'calc-arccosh)) | 399 | (call-interactively 'calc-arccosh)) |
| 350 | :keys "I H C"] | 400 | :keys "I H C" |
| 401 | :active (>= (calc-stack-size) 1)] | ||
| 351 | ["arctanh(1:)" | 402 | ["arctanh(1:)" |
| 352 | (progn | 403 | (progn |
| 353 | (require 'calc-math) | 404 | (require 'calc-math) |
| 354 | (call-interactively 'calc-arctanh)) | 405 | (call-interactively 'calc-arctanh)) |
| 355 | :keys "I H T"]) | 406 | :keys "I H T" |
| 407 | :active (>= (calc-stack-size) 1)]) | ||
| 356 | (list "Advanced Math Functions" | 408 | (list "Advanced Math Functions" |
| 357 | ["Gamma(1:)" | 409 | ["Gamma(1:)" |
| 358 | (progn | 410 | (progn |
| 359 | (require 'calc-comb) | 411 | (require 'calc-comb) |
| 360 | (call-interactively 'calc-gamma)) | 412 | (call-interactively 'calc-gamma)) |
| 361 | :keys "f g" | 413 | :keys "f g" |
| 414 | :active (>= (calc-stack-size) 1) | ||
| 362 | :help "The Euler Gamma function"] | 415 | :help "The Euler Gamma function"] |
| 363 | ["GammaP(2:,1:)" | 416 | ["GammaP(2:,1:)" |
| 364 | (progn | 417 | (progn |
| 365 | (require 'calc-funcs) | 418 | (require 'calc-funcs) |
| 366 | (call-interactively 'calc-inc-gamma)) | 419 | (call-interactively 'calc-inc-gamma)) |
| 367 | :keys "f G" | 420 | :keys "f G" |
| 421 | :active (>= (calc-stack-size) 2) | ||
| 368 | :help "The lower incomplete Gamma function"] | 422 | :help "The lower incomplete Gamma function"] |
| 369 | ["Beta(2:,1:)" | 423 | ["Beta(2:,1:)" |
| 370 | (progn | 424 | (progn |
| 371 | (require 'calc-funcs) | 425 | (require 'calc-funcs) |
| 372 | (call-interactively 'calc-beta)) | 426 | (call-interactively 'calc-beta)) |
| 373 | :keys "f b" | 427 | :keys "f b" |
| 428 | :active (>= (calc-stack-size) 2) | ||
| 374 | :help "The Euler Beta function"] | 429 | :help "The Euler Beta function"] |
| 375 | ["BetaI(3:,2:,1:)" | 430 | ["BetaI(3:,2:,1:)" |
| 376 | (progn | 431 | (progn |
| 377 | (require 'calc-funcs) | 432 | (require 'calc-funcs) |
| 378 | (call-interactively 'calc-inc-beta)) | 433 | (call-interactively 'calc-inc-beta)) |
| 379 | :keys "f B" | 434 | :keys "f B" |
| 435 | :active (>= (calc-stack-size) 3) | ||
| 380 | :help "The incomplete Beta function"] | 436 | :help "The incomplete Beta function"] |
| 381 | ["erf(1:)" | 437 | ["erf(1:)" |
| 382 | (progn | 438 | (progn |
| 383 | (require 'calc-funcs) | 439 | (require 'calc-funcs) |
| 384 | (call-interactively 'calc-erf)) | 440 | (call-interactively 'calc-erf)) |
| 385 | :keys "f e" | 441 | :keys "f e" |
| 442 | :active (>= (calc-stack-size) 1) | ||
| 386 | :help "The error function"] | 443 | :help "The error function"] |
| 387 | ["BesselJ(2:,1:)" | 444 | ["BesselJ(2:,1:)" |
| 388 | (progn | 445 | (progn |
| 389 | (require 'calc-funcs) | 446 | (require 'calc-funcs) |
| 390 | (call-interactively 'calc-bessel-J)) | 447 | (call-interactively 'calc-bessel-J)) |
| 391 | :keys "f j" | 448 | :keys "f j" |
| 449 | :active (>= (calc-stack-size) 2) | ||
| 392 | :help "The Bessel function of the first kind (of order (2:))"] | 450 | :help "The Bessel function of the first kind (of order (2:))"] |
| 393 | ["BesselY(2:,1:)" | 451 | ["BesselY(2:,1:)" |
| 394 | (progn | 452 | (progn |
| 395 | (require 'calc-funcs) | 453 | (require 'calc-funcs) |
| 396 | (call-interactively 'calc-bessel-Y)) | 454 | (call-interactively 'calc-bessel-Y)) |
| 397 | :keys "f y" | 455 | :keys "f y" |
| 456 | :active (>= (calc-stack-size) 2) | ||
| 398 | :help "The Bessel function of the second kind (of order (2:))"]) | 457 | :help "The Bessel function of the second kind (of order (2:))"]) |
| 399 | (list "Combinatorial Functions" | 458 | (list "Combinatorial Functions" |
| 400 | ["gcd(2:,1:)" | 459 | ["gcd(2:,1:)" |
| 401 | (progn | 460 | (progn |
| 402 | (require 'calc-comb) | 461 | (require 'calc-comb) |
| 403 | (call-interactively 'calc-gcd)) | 462 | (call-interactively 'calc-gcd)) |
| 404 | :keys "k g"] | 463 | :keys "k g" |
| 464 | :active (>= (calc-stack-size) 2)] | ||
| 405 | ["lcm(2:,1:)" | 465 | ["lcm(2:,1:)" |
| 406 | (progn | 466 | (progn |
| 407 | (require 'calc-comb) | 467 | (require 'calc-comb) |
| 408 | (call-interactively 'calc-lcm)) | 468 | (call-interactively 'calc-lcm)) |
| 409 | :keys "k l"] | 469 | :keys "k l" |
| 470 | :active (>= (calc-stack-size) 2)] | ||
| 410 | ["factorial(1:)" | 471 | ["factorial(1:)" |
| 411 | (progn | 472 | (progn |
| 412 | (require 'calc-comb) | 473 | (require 'calc-comb) |
| 413 | (call-interactively 'calc-factorial)) | 474 | (call-interactively 'calc-factorial)) |
| 414 | :keys "!"] | 475 | :keys "!" |
| 476 | :active (>= (calc-stack-size) 1)] | ||
| 415 | ["(2:) choose (1:)" | 477 | ["(2:) choose (1:)" |
| 416 | (progn | 478 | (progn |
| 417 | (require 'calc-comb) | 479 | (require 'calc-comb) |
| 418 | (call-interactively 'calc-choose)) | 480 | (call-interactively 'calc-choose)) |
| 419 | :keys "k c"] | 481 | :keys "k c" |
| 482 | :active (>= (calc-stack-size) 2)] | ||
| 420 | ["permutations(2:,1:)" | 483 | ["permutations(2:,1:)" |
| 421 | (progn | 484 | (progn |
| 422 | (require 'calc-comb) | 485 | (require 'calc-comb) |
| 423 | (call-interactively 'calc-perm)) | 486 | (call-interactively 'calc-perm)) |
| 424 | :keys "H k c"] | 487 | :keys "H k c" |
| 488 | :active (>= (calc-stack-size) 2)] | ||
| 425 | ["Primality test for (1:)" | 489 | ["Primality test for (1:)" |
| 426 | (progn | 490 | (progn |
| 427 | (require 'calc-comb) | 491 | (require 'calc-comb) |
| 428 | (call-interactively 'calc-prime-test)) | 492 | (call-interactively 'calc-prime-test)) |
| 429 | :keys "k p" | 493 | :keys "k p" |
| 494 | :active (>= (calc-stack-size) 1) | ||
| 430 | :help "For large (1:), a probabilistic test"] | 495 | :help "For large (1:), a probabilistic test"] |
| 431 | ["Factor (1:) into primes" | 496 | ["Factor (1:) into primes" |
| 432 | (progn | 497 | (progn |
| 433 | (require 'calc-comb) | 498 | (require 'calc-comb) |
| 434 | (call-interactively 'calc-prime-factors)) | 499 | (call-interactively 'calc-prime-factors)) |
| 435 | :keys "k f"] | 500 | :keys "k f" |
| 501 | :active (>= (calc-stack-size) 1)] | ||
| 436 | ["Next prime after (1:)" | 502 | ["Next prime after (1:)" |
| 437 | (progn | 503 | (progn |
| 438 | (require 'calc-comb) | 504 | (require 'calc-comb) |
| 439 | (call-interactively 'calc-next-prime)) | 505 | (call-interactively 'calc-next-prime)) |
| 440 | :keys "k n"] | 506 | :keys "k n" |
| 507 | :active (>= (calc-stack-size) 1)] | ||
| 441 | ["Previous prime before (1:)" | 508 | ["Previous prime before (1:)" |
| 442 | (progn | 509 | (progn |
| 443 | (require 'calc-comb) | 510 | (require 'calc-comb) |
| 444 | (call-interactively 'calc-prev-prime)) | 511 | (call-interactively 'calc-prev-prime)) |
| 445 | :keys "I k n"] | 512 | :keys "I k n" |
| 513 | :active (>= (calc-stack-size) 1)] | ||
| 446 | ["phi(1:)" | 514 | ["phi(1:)" |
| 447 | (progn | 515 | (progn |
| 448 | (require 'calc-comb) | 516 | (require 'calc-comb) |
| 449 | (call-interactively 'calc-totient)) | 517 | (call-interactively 'calc-totient)) |
| 450 | :keys "k n" | 518 | :keys "k n" |
| 519 | :active (>= (calc-stack-size) 1) | ||
| 451 | :help "Euler's totient function"] | 520 | :help "Euler's totient function"] |
| 452 | ["random(1:)" | 521 | ["random(1:)" |
| 453 | (progn | 522 | (progn |
| 454 | (require 'calc-comb) | 523 | (require 'calc-comb) |
| 455 | (call-interactively 'calc-random)) | 524 | (call-interactively 'calc-random)) |
| 456 | :keys "k r" | 525 | :keys "k r" |
| 526 | :active (>= (calc-stack-size) 1) | ||
| 457 | :help "A random number >=1 and < (1:)"]) | 527 | :help "A random number >=1 and < (1:)"]) |
| 458 | "----" | 528 | "----" |
| 459 | ["Help on Scientific Functions" | 529 | ["Help on Scientific Functions" |
| @@ -467,12 +537,14 @@ | |||
| 467 | (progn | 537 | (progn |
| 468 | (require 'calc-alg) | 538 | (require 'calc-alg) |
| 469 | (call-interactively 'calc-simplify)) | 539 | (call-interactively 'calc-simplify)) |
| 470 | :keys "a s"] | 540 | :keys "a s" |
| 541 | :active (>= (calc-stack-size) 1)] | ||
| 471 | ["Simplify (1:) with extended rules" | 542 | ["Simplify (1:) with extended rules" |
| 472 | (progn | 543 | (progn |
| 473 | (require 'calc-alg) | 544 | (require 'calc-alg) |
| 474 | (call-interactively 'calc-simplify-extended)) | 545 | (call-interactively 'calc-simplify-extended)) |
| 475 | :keys "a e" | 546 | :keys "a e" |
| 547 | :active (>= (calc-stack-size) 1) | ||
| 476 | :help "Apply possibly unsafe simplifications"]) | 548 | :help "Apply possibly unsafe simplifications"]) |
| 477 | (list "Manipulation" | 549 | (list "Manipulation" |
| 478 | ["Expand formula (1:)" | 550 | ["Expand formula (1:)" |
| @@ -480,17 +552,20 @@ | |||
| 480 | (require 'calc-alg) | 552 | (require 'calc-alg) |
| 481 | (call-interactively 'calc-expand-formula)) | 553 | (call-interactively 'calc-expand-formula)) |
| 482 | :keys "a \"" | 554 | :keys "a \"" |
| 555 | :active (>= (calc-stack-size) 1) | ||
| 483 | :help "Expand (1:) into its defining formula, if possible"] | 556 | :help "Expand (1:) into its defining formula, if possible"] |
| 484 | ["Evaluate variables in (1:)" | 557 | ["Evaluate variables in (1:)" |
| 485 | (progn | 558 | (progn |
| 486 | (require 'calc-ext) | 559 | (require 'calc-ext) |
| 487 | (call-interactively 'calc-evaluate)) | 560 | (call-interactively 'calc-evaluate)) |
| 488 | :keys "="] | 561 | :keys "=" |
| 562 | :active (>= (calc-stack-size) 1)] | ||
| 489 | ["Make substitution in (1:)" | 563 | ["Make substitution in (1:)" |
| 490 | (progn | 564 | (progn |
| 491 | (require 'calc-alg) | 565 | (require 'calc-alg) |
| 492 | (call-interactively 'calc-substitute)) | 566 | (call-interactively 'calc-substitute)) |
| 493 | :keys "a b" | 567 | :keys "a b" |
| 568 | :active (>= (calc-stack-size) 1) | ||
| 494 | :help | 569 | :help |
| 495 | "Substitute all occurrences of a sub-expression with a new sub-expression"]) | 570 | "Substitute all occurrences of a sub-expression with a new sub-expression"]) |
| 496 | (list "Polynomials" | 571 | (list "Polynomials" |
| @@ -498,87 +573,102 @@ | |||
| 498 | (progn | 573 | (progn |
| 499 | (require 'calc-alg) | 574 | (require 'calc-alg) |
| 500 | (call-interactively 'calc-factor)) | 575 | (call-interactively 'calc-factor)) |
| 501 | :keys "a f"] | 576 | :keys "a f" |
| 577 | :active (>= (calc-stack-size) 1)] | ||
| 502 | ["Collect terms in (1:)" | 578 | ["Collect terms in (1:)" |
| 503 | (progn | 579 | (progn |
| 504 | (require 'calc-alg) | 580 | (require 'calc-alg) |
| 505 | (call-interactively 'calc-collect)) | 581 | (call-interactively 'calc-collect)) |
| 506 | :keys "a c" | 582 | :keys "a c" |
| 583 | :active (>= (calc-stack-size) 1) | ||
| 507 | :help "Arrange as a polynomial in a given variable"] | 584 | :help "Arrange as a polynomial in a given variable"] |
| 508 | ["Expand (1:)" | 585 | ["Expand (1:)" |
| 509 | (progn | 586 | (progn |
| 510 | (require 'calc-alg) | 587 | (require 'calc-alg) |
| 511 | (call-interactively 'calc-expand)) | 588 | (call-interactively 'calc-expand)) |
| 512 | :keys "a x" | 589 | :keys "a x" |
| 590 | :active (>= (calc-stack-size) 1) | ||
| 513 | :help "Apply distributive law everywhere"] | 591 | :help "Apply distributive law everywhere"] |
| 514 | ["Find roots of (1:)" | 592 | ["Find roots of (1:)" |
| 515 | (progn | 593 | (progn |
| 516 | (require 'calcalg2) | 594 | (require 'calcalg2) |
| 517 | (call-interactively 'calc-poly-roots)) | 595 | (call-interactively 'calc-poly-roots)) |
| 518 | :keys "a P"]) | 596 | :keys "a P" |
| 597 | :active (>= (calc-stack-size) 1)]) | ||
| 519 | (list "Calculus" | 598 | (list "Calculus" |
| 520 | ["Differentiate (1:)" | 599 | ["Differentiate (1:)" |
| 521 | (progn | 600 | (progn |
| 522 | (require 'calcalg2) | 601 | (require 'calcalg2) |
| 523 | (call-interactively 'calc-derivative)) | 602 | (call-interactively 'calc-derivative)) |
| 524 | :keys "a d"] | 603 | :keys "a d" |
| 604 | :active (>= (calc-stack-size) 1)] | ||
| 525 | ["Integrate (1:) [indefinite]" | 605 | ["Integrate (1:) [indefinite]" |
| 526 | (progn | 606 | (progn |
| 527 | (require 'calcalg2) | 607 | (require 'calcalg2) |
| 528 | (call-interactively 'calc-integral)) | 608 | (call-interactively 'calc-integral)) |
| 529 | :keys "a i"] | 609 | :keys "a i" |
| 610 | :active (>= (calc-stack-size) 1)] | ||
| 530 | ["Integrate (1:) [definite]" | 611 | ["Integrate (1:) [definite]" |
| 531 | (progn | 612 | (progn |
| 532 | (require 'calcalg2) | 613 | (require 'calcalg2) |
| 533 | (let ((var (read-string "Integration variable: "))) | 614 | (let ((var (read-string "Integration variable: "))) |
| 534 | (calc-tabular-command 'calcFunc-integ "Integration" | 615 | (calc-tabular-command 'calcFunc-integ "Integration" |
| 535 | "intg" nil var nil nil))) | 616 | "intg" nil var nil nil))) |
| 536 | :keys "C-u a i"] | 617 | :keys "C-u a i" |
| 618 | :active (>= (calc-stack-size) 1)] | ||
| 537 | ["Integrate (1:) [numeric]" | 619 | ["Integrate (1:) [numeric]" |
| 538 | (progn | 620 | (progn |
| 539 | (require 'calcalg2) | 621 | (require 'calcalg2) |
| 540 | (call-interactively 'calc-num-integral)) | 622 | (call-interactively 'calc-num-integral)) |
| 541 | :keys "a I" | 623 | :keys "a I" |
| 624 | :active (>= (calc-stack-size) 1) | ||
| 542 | :help "Integrate using the open Romberg method"] | 625 | :help "Integrate using the open Romberg method"] |
| 543 | ["Taylor expand (1:)" | 626 | ["Taylor expand (1:)" |
| 544 | (progn | 627 | (progn |
| 545 | (require 'calcalg2) | 628 | (require 'calcalg2) |
| 546 | (call-interactively 'calc-taylor)) | 629 | (call-interactively 'calc-taylor)) |
| 547 | :keys "a t"] | 630 | :keys "a t" |
| 631 | :active (>= (calc-stack-size) 1)] | ||
| 548 | ["Minimize (2:) [initial guess = (1:)]" | 632 | ["Minimize (2:) [initial guess = (1:)]" |
| 549 | (progn | 633 | (progn |
| 550 | (require 'calcalg3) | 634 | (require 'calcalg3) |
| 551 | (call-interactively 'calc-find-minimum)) | 635 | (call-interactively 'calc-find-minimum)) |
| 552 | :keys "a N" | 636 | :keys "a N" |
| 637 | :active (>= (calc-stack-size) 2) | ||
| 553 | :help "Find a local minimum"] | 638 | :help "Find a local minimum"] |
| 554 | ["Maximize (2:) [initial guess = (1:)]" | 639 | ["Maximize (2:) [initial guess = (1:)]" |
| 555 | (progn | 640 | (progn |
| 556 | (require 'calcalg3) | 641 | (require 'calcalg3) |
| 557 | (call-interactively 'calc-find-maximum)) | 642 | (call-interactively 'calc-find-maximum)) |
| 558 | :keys "a X" | 643 | :keys "a X" |
| 644 | :active (>= (calc-stack-size) 2) | ||
| 559 | :help "Find a local maximum"]) | 645 | :help "Find a local maximum"]) |
| 560 | (list "Solving" | 646 | (list "Solving" |
| 561 | ["Solve equation (1:)" | 647 | ["Solve equation (1:)" |
| 562 | (progn | 648 | (progn |
| 563 | (require 'calcalg2) | 649 | (require 'calcalg2) |
| 564 | (call-interactively 'calc-solve-for)) | 650 | (call-interactively 'calc-solve-for)) |
| 565 | :keys "a S"] | 651 | :keys "a S" |
| 652 | :active (>= (calc-stack-size) 1)] | ||
| 566 | ["Solve equation (2:) numerically [initial guess = (1:)]" | 653 | ["Solve equation (2:) numerically [initial guess = (1:)]" |
| 567 | (progn | 654 | (progn |
| 568 | (require 'calcalg3) | 655 | (require 'calcalg3) |
| 569 | (call-interactively 'calc-find-root)) | 656 | (call-interactively 'calc-find-root)) |
| 570 | :keys "a R"] | 657 | :keys "a R" |
| 658 | :active (>= (calc-stack-size) 2)] | ||
| 571 | ["Find roots of polynomial (1:)" | 659 | ["Find roots of polynomial (1:)" |
| 572 | (progn | 660 | (progn |
| 573 | (require 'calcalg2) | 661 | (require 'calcalg2) |
| 574 | (call-interactively 'calc-poly-roots)) | 662 | (call-interactively 'calc-poly-roots)) |
| 575 | :keys "a P"]) | 663 | :keys "a P" |
| 664 | :active (>= (calc-stack-size) 1)]) | ||
| 576 | (list "Curve Fitting" | 665 | (list "Curve Fitting" |
| 577 | ["Fit (1:)=[x values, y values] to a curve" | 666 | ["Fit (1:)=[x values, y values] to a curve" |
| 578 | (progn | 667 | (progn |
| 579 | (require 'calcalg3) | 668 | (require 'calcalg3) |
| 580 | (call-interactively 'calc-curve-fit)) | 669 | (call-interactively 'calc-curve-fit)) |
| 581 | :keys "a F"]) | 670 | :keys "a F" |
| 671 | :active (>= (calc-stack-size) 1)]) | ||
| 582 | "----" | 672 | "----" |
| 583 | ["Help on Algebra" | 673 | ["Help on Algebra" |
| 584 | (calc-info-goto-node "Algebra")]) | 674 | (calc-info-goto-node "Algebra")]) |
| @@ -591,12 +681,14 @@ | |||
| 591 | (progn | 681 | (progn |
| 592 | (require 'calc-graph) | 682 | (require 'calc-graph) |
| 593 | (call-interactively 'calc-graph-fast)) | 683 | (call-interactively 'calc-graph-fast)) |
| 594 | :keys "g f"] | 684 | :keys "g f" |
| 685 | :active (>= (calc-stack-size) 2)] | ||
| 595 | ["Graph 3D [(1:)= z values, (2:)= y values, (3:)= x values]" | 686 | ["Graph 3D [(1:)= z values, (2:)= y values, (3:)= x values]" |
| 596 | (progn | 687 | (progn |
| 597 | (require 'calc-graph) | 688 | (require 'calc-graph) |
| 598 | (call-interactively 'calc-graph-fast-3d)) | 689 | (call-interactively 'calc-graph-fast-3d)) |
| 599 | :keys "g F"] | 690 | :keys "g F" |
| 691 | :active (>= (calc-stack-size) 3)] | ||
| 600 | "----" | 692 | "----" |
| 601 | ["Help on Graphics" | 693 | ["Help on Graphics" |
| 602 | (calc-info-goto-node "Graphics")]) | 694 | (calc-info-goto-node "Graphics")]) |
| @@ -606,14 +698,18 @@ | |||
| 606 | (defvar calc-vectors-menu | 698 | (defvar calc-vectors-menu |
| 607 | (list "Matrices/Vectors" | 699 | (list "Matrices/Vectors" |
| 608 | (list "Matrices" | 700 | (list "Matrices" |
| 609 | ["(2:) + (1:)" calc-plus :keys "+"] | 701 | ["(2:) + (1:)" calc-plus |
| 610 | ["(2:) - (1:)" calc-minus :keys "-"] | 702 | :keys "+" :active (>= (calc-stack-size) 2)] |
| 611 | ["(2:) * (1:)" calc-times :keys "*"] | 703 | ["(2:) - (1:)" calc-minus |
| 612 | ["(1:)^(-1)" | 704 | :keys "-" :active (>= (calc-stack-size) 2)] |
| 705 | ["(2:) * (1:)" calc-times | ||
| 706 | :keys "*" :active (>= (calc-stack-size) 2)] | ||
| 707 | ["(1:)^(-1)" | ||
| 613 | (progn | 708 | (progn |
| 614 | (require 'calc-arith) | 709 | (require 'calc-arith) |
| 615 | (call-interactively 'calc-inv)) | 710 | (call-interactively 'calc-inv)) |
| 616 | :keys "&"] | 711 | :keys "&" |
| 712 | :active (>= (calc-stack-size) 1)] | ||
| 617 | ["Create an identity matrix" | 713 | ["Create an identity matrix" |
| 618 | (progn | 714 | (progn |
| 619 | (require 'calc-vec) | 715 | (require 'calc-vec) |
| @@ -623,179 +719,211 @@ | |||
| 623 | (progn | 719 | (progn |
| 624 | (require 'calc-vec) | 720 | (require 'calc-vec) |
| 625 | (call-interactively 'calc-transpose)) | 721 | (call-interactively 'calc-transpose)) |
| 626 | :keys "v t"] | 722 | :keys "v t" |
| 723 | :active (>= (calc-stack-size) 1)] | ||
| 627 | ["det(1:)" | 724 | ["det(1:)" |
| 628 | (progn | 725 | (progn |
| 629 | (require 'calc-mtx) | 726 | (require 'calc-mtx) |
| 630 | (call-interactively 'calc-mdet)) | 727 | (call-interactively 'calc-mdet)) |
| 631 | :keys "V D"] | 728 | :keys "V D" |
| 729 | :active (>= (calc-stack-size) 1)] | ||
| 632 | ["trace(1:)" | 730 | ["trace(1:)" |
| 633 | (progn | 731 | (progn |
| 634 | (require 'calc-mtx) | 732 | (require 'calc-mtx) |
| 635 | (call-interactively 'calc-mtrace)) | 733 | (call-interactively 'calc-mtrace)) |
| 636 | :keys "V T"] | 734 | :keys "V T" |
| 735 | :active (>= (calc-stack-size) 1)] | ||
| 637 | ["LUD decompose (1:)" | 736 | ["LUD decompose (1:)" |
| 638 | (progn | 737 | (progn |
| 639 | (require 'calc-mtx) | 738 | (require 'calc-mtx) |
| 640 | (call-interactively 'calc-mlud)) | 739 | (call-interactively 'calc-mlud)) |
| 641 | :keys "V L"] | 740 | :keys "V L" |
| 741 | :active (>= (calc-stack-size) 1)] | ||
| 642 | ["Extract a row from (1:)" | 742 | ["Extract a row from (1:)" |
| 643 | (progn | 743 | (progn |
| 644 | (require 'calc-vec) | 744 | (require 'calc-vec) |
| 645 | (call-interactively 'calc-mrow)) | 745 | (call-interactively 'calc-mrow)) |
| 646 | :keys "v r"] | 746 | :keys "v r" |
| 747 | :active (>= (calc-stack-size) 1)] | ||
| 647 | ["Extract a column from (1:)" | 748 | ["Extract a column from (1:)" |
| 648 | (progn | 749 | (progn |
| 649 | (require 'calc-vec) | 750 | (require 'calc-vec) |
| 650 | (call-interactively 'calc-mcol)) | 751 | (call-interactively 'calc-mcol)) |
| 651 | :keys "v c"]) | 752 | :keys "v c" |
| 753 | :active (>= (calc-stack-size) 1)]) | ||
| 652 | (list "Vectors" | 754 | (list "Vectors" |
| 653 | ["Extract the first element of (1:)" | 755 | ["Extract the first element of (1:)" |
| 654 | (progn | 756 | (progn |
| 655 | (require 'calc-vec) | 757 | (require 'calc-vec) |
| 656 | (call-interactively 'calc-head)) | 758 | (call-interactively 'calc-head)) |
| 657 | :keys "v h"] | 759 | :keys "v h" |
| 760 | :active (>= (calc-stack-size) 1)] | ||
| 658 | ["Extract an element from (1:)" | 761 | ["Extract an element from (1:)" |
| 659 | (progn | 762 | (progn |
| 660 | (require 'calc-vec) | 763 | (require 'calc-vec) |
| 661 | (call-interactively 'calc-mrow)) | 764 | (call-interactively 'calc-mrow)) |
| 662 | :keys "v r"] | 765 | :keys "v r" |
| 766 | :active (>= (calc-stack-size) 1)] | ||
| 663 | ["Reverse (1:)" | 767 | ["Reverse (1:)" |
| 664 | (progn | 768 | (progn |
| 665 | (require 'calc-vec) | 769 | (require 'calc-vec) |
| 666 | (call-interactively 'calc-reverse-vector)) | 770 | (call-interactively 'calc-reverse-vector)) |
| 667 | :keys "v v"] | 771 | :keys "v v" |
| 772 | :active (>= (calc-stack-size) 1)] | ||
| 668 | ["Unpack (1:)" | 773 | ["Unpack (1:)" |
| 669 | (progn | 774 | (progn |
| 670 | (require 'calc-vec) | 775 | (require 'calc-vec) |
| 671 | (call-interactively 'calc-unpack)) | 776 | (call-interactively 'calc-unpack)) |
| 672 | :keys "v u" | 777 | :keys "v u" |
| 778 | :active (>= (calc-stack-size) 1) | ||
| 673 | :help "Separate the elements of (1:)"] | 779 | :help "Separate the elements of (1:)"] |
| 674 | ["(2:) cross (1:)" | 780 | ["(2:) cross (1:)" |
| 675 | (progn | 781 | (progn |
| 676 | (require 'calc-vec) | 782 | (require 'calc-vec) |
| 677 | (call-interactively 'calc-cross)) | 783 | (call-interactively 'calc-cross)) |
| 678 | :keys "V C" | 784 | :keys "V C" |
| 785 | :active (>= (calc-stack-size) 2) | ||
| 679 | :help "The cross product in R^3"] | 786 | :help "The cross product in R^3"] |
| 680 | ["(2:) dot (1:)" | 787 | ["(2:) dot (1:)" |
| 681 | calc-mult | 788 | calc-mult |
| 682 | :keys "*" | 789 | :keys "*" |
| 790 | :active (>= (calc-stack-size) 2) | ||
| 683 | :help "The dot product"] | 791 | :help "The dot product"] |
| 684 | ["Map a function across (1:)" | 792 | ["Map a function across (1:)" |
| 685 | (progn | 793 | (progn |
| 686 | (require 'calc-map) | 794 | (require 'calc-map) |
| 687 | (call-interactively 'calc-map)) | 795 | (call-interactively 'calc-map)) |
| 688 | :keys "V M" | 796 | :keys "V M" |
| 797 | :active (>= (calc-stack-size) 1) | ||
| 689 | :help "Apply a function to each element"]) | 798 | :help "Apply a function to each element"]) |
| 690 | (list "Vectors As Sets" | 799 | (list "Vectors As Sets" |
| 691 | ["Remove duplicates from (1:)" | 800 | ["Remove duplicates from (1:)" |
| 692 | (progn | 801 | (progn |
| 693 | (require 'calc-vec) | 802 | (require 'calc-vec) |
| 694 | (call-interactively 'calc-remove-duplicates)) | 803 | (call-interactively 'calc-remove-duplicates)) |
| 695 | :keys "V +"] | 804 | :keys "V +" |
| 805 | :active (>= (calc-stack-size) 1)] | ||
| 696 | ["(2:) union (1:)" | 806 | ["(2:) union (1:)" |
| 697 | (progn | 807 | (progn |
| 698 | (require 'calc-vec) | 808 | (require 'calc-vec) |
| 699 | (call-interactively 'calc-set-union)) | 809 | (call-interactively 'calc-set-union)) |
| 700 | :keys "V V"] | 810 | :keys "V V" |
| 811 | :active (>= (calc-stack-size) 2)] | ||
| 701 | ["(2:) intersect (1:)" | 812 | ["(2:) intersect (1:)" |
| 702 | (progn | 813 | (progn |
| 703 | (require 'calc-vec) | 814 | (require 'calc-vec) |
| 704 | (call-interactively 'calc-set-intersect)) | 815 | (call-interactively 'calc-set-intersect)) |
| 705 | :keys "V ^"] | 816 | :keys "V ^" |
| 817 | :active (>= (calc-stack-size) 2)] | ||
| 706 | ["(2:) \\ (1:)" | 818 | ["(2:) \\ (1:)" |
| 707 | (progn | 819 | (progn |
| 708 | (require 'calc-vec) | 820 | (require 'calc-vec) |
| 709 | (call-interactively 'calc-set-difference)) | 821 | (call-interactively 'calc-set-difference)) |
| 710 | :keys "V -" | 822 | :keys "V -" |
| 711 | :help "Set difference"]) | 823 | :help "Set difference" |
| 824 | :active (>= (calc-stack-size) 2)]) | ||
| 712 | (list "Statistics On Vectors" | 825 | (list "Statistics On Vectors" |
| 713 | ["length(1:)" | 826 | ["length(1:)" |
| 714 | (progn | 827 | (progn |
| 715 | (require 'calc-stat) | 828 | (require 'calc-stat) |
| 716 | (call-interactively 'calc-vector-count)) | 829 | (call-interactively 'calc-vector-count)) |
| 717 | :keys "u #" | 830 | :keys "u #" |
| 831 | :active (>= (calc-stack-size) 1) | ||
| 718 | :help "The number of data values"] | 832 | :help "The number of data values"] |
| 719 | ["sum(1:)" | 833 | ["sum(1:)" |
| 720 | (progn | 834 | (progn |
| 721 | (require 'calc-stat) | 835 | (require 'calc-stat) |
| 722 | (call-interactively 'calc-vector-sum)) | 836 | (call-interactively 'calc-vector-sum)) |
| 723 | :keys "u +" | 837 | :keys "u +" |
| 838 | :active (>= (calc-stack-size) 1) | ||
| 724 | :help "The sum of the data values"] | 839 | :help "The sum of the data values"] |
| 725 | ["max(1:)" | 840 | ["max(1:)" |
| 726 | (progn | 841 | (progn |
| 727 | (require 'calc-stat) | 842 | (require 'calc-stat) |
| 728 | (call-interactively 'calc-vector-max)) | 843 | (call-interactively 'calc-vector-max)) |
| 729 | :keys "u x" | 844 | :keys "u x" |
| 845 | :active (>= (calc-stack-size) 1) | ||
| 730 | :help "The maximum of the data values"] | 846 | :help "The maximum of the data values"] |
| 731 | ["min(1:)" | 847 | ["min(1:)" |
| 732 | (progn | 848 | (progn |
| 733 | (require 'calc-stat) | 849 | (require 'calc-stat) |
| 734 | (call-interactively 'calc-vector-min)) | 850 | (call-interactively 'calc-vector-min)) |
| 735 | :keys "u N" | 851 | :keys "u N" |
| 852 | :active (>= (calc-stack-size) 1) | ||
| 736 | :help "The minumum of the data values"] | 853 | :help "The minumum of the data values"] |
| 737 | ["mean(1:)" | 854 | ["mean(1:)" |
| 738 | (progn | 855 | (progn |
| 739 | (require 'calc-stat) | 856 | (require 'calc-stat) |
| 740 | (call-interactively 'calc-vector-mean)) | 857 | (call-interactively 'calc-vector-mean)) |
| 741 | :keys "u M" | 858 | :keys "u M" |
| 859 | :active (>= (calc-stack-size) 1) | ||
| 742 | :help "The average (arithmetic mean) of the data values"] | 860 | :help "The average (arithmetic mean) of the data values"] |
| 743 | ["mean(1:) with error" | 861 | ["mean(1:) with error" |
| 744 | (progn | 862 | (progn |
| 745 | (require 'calc-stat) | 863 | (require 'calc-stat) |
| 746 | (call-interactively 'calc-vector-mean-error)) | 864 | (call-interactively 'calc-vector-mean-error)) |
| 747 | :keys "I u M" | 865 | :keys "I u M" |
| 866 | :active (>= (calc-stack-size) 1) | ||
| 748 | :help "The average (arithmetic mean) of the data values as an error form"] | 867 | :help "The average (arithmetic mean) of the data values as an error form"] |
| 749 | ["sdev(1:)" | 868 | ["sdev(1:)" |
| 750 | (progn | 869 | (progn |
| 751 | (require 'calc-stat) | 870 | (require 'calc-stat) |
| 752 | (call-interactively 'calc-vector-sdev)) | 871 | (call-interactively 'calc-vector-sdev)) |
| 753 | :keys "u S" | 872 | :keys "u S" |
| 873 | :active (>= (calc-stack-size) 1) | ||
| 754 | :help "The sample sdev, sqrt[sum((values - mean)^2)/(N-1)]"] | 874 | :help "The sample sdev, sqrt[sum((values - mean)^2)/(N-1)]"] |
| 755 | ["variance(1:)" | 875 | ["variance(1:)" |
| 756 | (progn | 876 | (progn |
| 757 | (require 'calc-stat) | 877 | (require 'calc-stat) |
| 758 | (call-interactively 'calc-vector-variance)) | 878 | (call-interactively 'calc-vector-variance)) |
| 759 | :keys "H u S" | 879 | :keys "H u S" |
| 880 | :active (>= (calc-stack-size) 1) | ||
| 760 | :help "The sample variance, sum((values - mean)^2)/(N-1)"] | 881 | :help "The sample variance, sum((values - mean)^2)/(N-1)"] |
| 761 | ["population sdev(1:)" | 882 | ["population sdev(1:)" |
| 762 | (progn | 883 | (progn |
| 763 | (require 'calc-stat) | 884 | (require 'calc-stat) |
| 764 | (call-interactively 'calc-vector-pop-sdev)) | 885 | (call-interactively 'calc-vector-pop-sdev)) |
| 765 | :keys "I u S" | 886 | :keys "I u S" |
| 887 | :active (>= (calc-stack-size) 1) | ||
| 766 | :help "The population sdev, sqrt[sum((values - mean)^2)/N]"] | 888 | :help "The population sdev, sqrt[sum((values - mean)^2)/N]"] |
| 767 | ["population variance(1:)" | 889 | ["population variance(1:)" |
| 768 | (progn | 890 | (progn |
| 769 | (require 'calc-stat) | 891 | (require 'calc-stat) |
| 770 | (call-interactively 'calc-vector-pop-variance)) | 892 | (call-interactively 'calc-vector-pop-variance)) |
| 771 | :keys "H I u S" | 893 | :keys "H I u S" |
| 894 | :active (>= (calc-stack-size) 1) | ||
| 772 | :help "The population variance, sum((values - mean)^2)/N"] | 895 | :help "The population variance, sum((values - mean)^2)/N"] |
| 773 | ["median(1:)" | 896 | ["median(1:)" |
| 774 | (progn | 897 | (progn |
| 775 | (require 'calc-stat) | 898 | (require 'calc-stat) |
| 776 | (call-interactively 'calc-vector-median)) | 899 | (call-interactively 'calc-vector-median)) |
| 777 | :keys "H u M" | 900 | :keys "H u M" |
| 901 | :active (>= (calc-stack-size) 1) | ||
| 778 | :help "The median of the data values"] | 902 | :help "The median of the data values"] |
| 779 | ["harmonic mean(1:)" | 903 | ["harmonic mean(1:)" |
| 780 | (progn | 904 | (progn |
| 781 | (require 'calc-stat) | 905 | (require 'calc-stat) |
| 782 | (call-interactively 'calc-vector-harmonic-mean)) | 906 | (call-interactively 'calc-vector-harmonic-mean)) |
| 783 | :keys "H I u M"] | 907 | :keys "H I u M" |
| 908 | :active (>= (calc-stack-size) 1)] | ||
| 784 | ["geometric mean(1:)" | 909 | ["geometric mean(1:)" |
| 785 | (progn | 910 | (progn |
| 786 | (require 'calc-stat) | 911 | (require 'calc-stat) |
| 787 | (call-interactively 'calc-vector-geometric-mean)) | 912 | (call-interactively 'calc-vector-geometric-mean)) |
| 788 | :keys "u G"] | 913 | :keys "u G" |
| 914 | :active (>= (calc-stack-size) 1)] | ||
| 789 | ["arithmetic-geometric mean(1:)" | 915 | ["arithmetic-geometric mean(1:)" |
| 790 | (progn | 916 | (progn |
| 791 | (require 'calc-stat) | 917 | (require 'calc-stat) |
| 792 | (let ((calc-hyperbolic-flag t)) | 918 | (let ((calc-hyperbolic-flag t)) |
| 793 | (call-interactively 'calc-vector-geometric-mean))) | 919 | (call-interactively 'calc-vector-geometric-mean))) |
| 794 | :keys "H u G"] | 920 | :keys "H u G" |
| 921 | :active (>= (calc-stack-size) 1)] | ||
| 795 | ["RMS(1:)" | 922 | ["RMS(1:)" |
| 796 | (progn (require 'calc-arith) | 923 | (progn (require 'calc-arith) |
| 797 | (call-interactively 'calc-abs)) | 924 | (call-interactively 'calc-abs)) |
| 798 | :keys "A" | 925 | :keys "A" |
| 926 | :active (>= (calc-stack-size) 1) | ||
| 799 | :help "The root-mean-square, or quadratic mean"]) | 927 | :help "The root-mean-square, or quadratic mean"]) |
| 800 | ["Abbreviate long vectors" | 928 | ["Abbreviate long vectors" |
| 801 | (progn | 929 | (progn |
| @@ -815,17 +943,20 @@ | |||
| 815 | (progn | 943 | (progn |
| 816 | (require 'calc-units) | 944 | (require 'calc-units) |
| 817 | (call-interactively 'calc-convert-units )) | 945 | (call-interactively 'calc-convert-units )) |
| 818 | :keys "u c"] | 946 | :keys "u c" |
| 947 | :active (>= (calc-stack-size) 1)] | ||
| 819 | ["Convert temperature in (1:)" | 948 | ["Convert temperature in (1:)" |
| 820 | (progn | 949 | (progn |
| 821 | (require 'calc-units) | 950 | (require 'calc-units) |
| 822 | (call-interactively 'calc-convert-temperature)) | 951 | (call-interactively 'calc-convert-temperature)) |
| 823 | :keys "u t"] | 952 | :keys "u t" |
| 953 | :active (>= (calc-stack-size) 1)] | ||
| 824 | ["Simplify units in (1:)" | 954 | ["Simplify units in (1:)" |
| 825 | (progn | 955 | (progn |
| 826 | (require 'calc-units) | 956 | (require 'calc-units) |
| 827 | (call-interactively 'calc-simplify-units)) | 957 | (call-interactively 'calc-simplify-units)) |
| 828 | :keys "u s"] | 958 | :keys "u s" |
| 959 | :active (>= (calc-stack-size) 1)] | ||
| 829 | ["View units table" | 960 | ["View units table" |
| 830 | (progn | 961 | (progn |
| 831 | (require 'calc-units) | 962 | (require 'calc-units) |
| @@ -842,7 +973,8 @@ | |||
| 842 | (progn | 973 | (progn |
| 843 | (require 'calc-store) | 974 | (require 'calc-store) |
| 844 | (call-interactively 'calc-store)) | 975 | (call-interactively 'calc-store)) |
| 845 | :keys "s s"] | 976 | :keys "s s" |
| 977 | :active (>= (calc-stack-size) 1)] | ||
| 846 | ["Recall a variable value" | 978 | ["Recall a variable value" |
| 847 | (progn | 979 | (progn |
| 848 | (require 'calc-store) | 980 | (require 'calc-store) |
| @@ -857,7 +989,8 @@ | |||
| 857 | (progn | 989 | (progn |
| 858 | (require 'calc-store) | 990 | (require 'calc-store) |
| 859 | (call-interactively 'calc-store-exchange)) | 991 | (call-interactively 'calc-store-exchange)) |
| 860 | :keys "s x"] | 992 | :keys "s x" |
| 993 | :active (>= (calc-stack-size) 1)] | ||
| 861 | ["Clear variable value" | 994 | ["Clear variable value" |
| 862 | (progn | 995 | (progn |
| 863 | (require 'calc-store) | 996 | (require 'calc-store) |
| @@ -867,12 +1000,14 @@ | |||
| 867 | (progn | 1000 | (progn |
| 868 | (require 'calc-ext) | 1001 | (require 'calc-ext) |
| 869 | (call-interactively 'calc-evaluate)) | 1002 | (call-interactively 'calc-evaluate)) |
| 870 | :keys "="] | 1003 | :keys "=" |
| 1004 | :active (>= (calc-stack-size) 1)] | ||
| 871 | ["Evaluate (1:), assigning a value to a variable" | 1005 | ["Evaluate (1:), assigning a value to a variable" |
| 872 | (progn | 1006 | (progn |
| 873 | (require 'calc-store) | 1007 | (require 'calc-store) |
| 874 | (call-interactively 'calc-let)) | 1008 | (call-interactively 'calc-let)) |
| 875 | :keys "s l" | 1009 | :keys "s l" |
| 1010 | :active (>= (calc-stack-size) 1) | ||
| 876 | :help "Evaluate (1:) under a temporary assignment of a variable"] | 1011 | :help "Evaluate (1:) under a temporary assignment of a variable"] |
| 877 | "----" | 1012 | "----" |
| 878 | ["Help on Variables" | 1013 | ["Help on Variables" |
| @@ -883,18 +1018,22 @@ | |||
| 883 | (list "Stack" | 1018 | (list "Stack" |
| 884 | ["Remove (1:)" | 1019 | ["Remove (1:)" |
| 885 | calc-pop | 1020 | calc-pop |
| 886 | :keys "DEL"] | 1021 | :keys "DEL" |
| 1022 | :active (>= (calc-stack-size) 1)] | ||
| 887 | ["Switch (1:) and (2:)" | 1023 | ["Switch (1:) and (2:)" |
| 888 | calc-roll-down | 1024 | calc-roll-down |
| 889 | :keys "TAB"] | 1025 | :keys "TAB" |
| 1026 | :active (>= (calc-stack-size) 2)] | ||
| 890 | ["Duplicate (1:)" | 1027 | ["Duplicate (1:)" |
| 891 | calc-enter | 1028 | calc-enter |
| 892 | :keys "RET"] | 1029 | :keys "RET" |
| 1030 | :active (>= (calc-stack-size) 1)] | ||
| 893 | ["Edit (1:)" | 1031 | ["Edit (1:)" |
| 894 | (progn | 1032 | (progn |
| 895 | (require 'calc-yank) | 1033 | (require 'calc-yank) |
| 896 | (call-interactively calc-edit)) | 1034 | (call-interactively calc-edit)) |
| 897 | :keys "`"] | 1035 | :keys "`" |
| 1036 | :active (>= (calc-stack-size) 1)] | ||
| 898 | "----" | 1037 | "----" |
| 899 | ["Help on Stack" | 1038 | ["Help on Stack" |
| 900 | (calc-info-goto-node "Stack and Trail")]) | 1039 | (calc-info-goto-node "Stack and Trail")]) |
| @@ -1051,6 +1190,47 @@ | |||
| 1051 | :keys "d e" | 1190 | :keys "d e" |
| 1052 | :style radio | 1191 | :style radio |
| 1053 | :selected (eq (car-safe calc-float-format) 'eng)]) | 1192 | :selected (eq (car-safe calc-float-format) 'eng)]) |
| 1193 | (list "Complex Format" | ||
| 1194 | ["Default" | ||
| 1195 | (progn | ||
| 1196 | (require 'calc-cplx) | ||
| 1197 | (calc-complex-notation)) | ||
| 1198 | :style radio | ||
| 1199 | :selected (not calc-complex-format) | ||
| 1200 | :keys "d c" | ||
| 1201 | :help "Display complex numbers as ordered pairs."] | ||
| 1202 | ["i notation" | ||
| 1203 | (progn | ||
| 1204 | (require 'calc-cplx) | ||
| 1205 | (calc-i-notation)) | ||
| 1206 | :style radio | ||
| 1207 | :selected (eq calc-complex-format 'i) | ||
| 1208 | :keys "d i" | ||
| 1209 | :help "Display complex numbers as a+bi."] | ||
| 1210 | ["j notation" | ||
| 1211 | (progn | ||
| 1212 | (require 'calc-cplx) | ||
| 1213 | (calc-i-notation)) | ||
| 1214 | :style radio | ||
| 1215 | :selected (eq calc-complex-format 'j) | ||
| 1216 | :keys "d j" | ||
| 1217 | :help "Display complex numbers as a+bj."] | ||
| 1218 | ["Other" | ||
| 1219 | (calc-complex-notation) | ||
| 1220 | :style radio | ||
| 1221 | :selected (and calc-complex-format | ||
| 1222 | (not (eq calc-complex-format 'i)) | ||
| 1223 | (not (eq calc-complex-format 'j))) | ||
| 1224 | :active nil] | ||
| 1225 | "----" | ||
| 1226 | ["Polar mode" | ||
| 1227 | (progn | ||
| 1228 | (require 'calc-cplx) | ||
| 1229 | (calc-polar-mode nil)) | ||
| 1230 | :style toggle | ||
| 1231 | :selected (eq calc-complex-mode 'polar) | ||
| 1232 | :keys "m p" | ||
| 1233 | :help "Prefer polar form for complex numbers."]) | ||
| 1054 | (list "Algebraic" | 1234 | (list "Algebraic" |
| 1055 | ["Normal" | 1235 | ["Normal" |
| 1056 | (progn | 1236 | (progn |
| @@ -1178,7 +1358,21 @@ | |||
| 1178 | (call-interactively 'calc-giac-language)) | 1358 | (call-interactively 'calc-giac-language)) |
| 1179 | :keys "d A" | 1359 | :keys "d A" |
| 1180 | :style radio | 1360 | :style radio |
| 1181 | :selected (eq calc-language 'giac)]) | 1361 | :selected (eq calc-language 'giac)] |
| 1362 | ["Mma" | ||
| 1363 | (progn | ||
| 1364 | (require 'calc-lang) | ||
| 1365 | (call-interactively 'calc-mathematica-language)) | ||
| 1366 | :keys "d M" | ||
| 1367 | :style radio | ||
| 1368 | :selected (eq calc-language 'math)] | ||
| 1369 | ["Maple" | ||
| 1370 | (progn | ||
| 1371 | (require 'calc-lang) | ||
| 1372 | (call-interactively 'calc-maple-language)) | ||
| 1373 | :keys "d W" | ||
| 1374 | :style radio | ||
| 1375 | :selected (eq calc-language 'maple)]) | ||
| 1182 | "----" | 1376 | "----" |
| 1183 | ["Save mode settings" calc-save-modes :keys "m m"] | 1377 | ["Save mode settings" calc-save-modes :keys "m m"] |
| 1184 | "----" | 1378 | "----" |