├── .gitignore ├── .gitlab-ci.yml ├── CHANGELOG.org ├── LICENSE ├── Makefile ├── README.org ├── company-maxima.el ├── keywords ├── constants ├── functions ├── global ├── graphic ├── object ├── operators ├── options ├── plot ├── properties ├── scene ├── special └── system_variables ├── logo └── maxima_emacs.png ├── maxima-font-lock.el ├── maxima.el ├── poly-maxima.el └── test ├── make-install.el ├── make-test.el └── test-maxima.el /.gitignore: -------------------------------------------------------------------------------- 1 | .elpa/ 2 | *.elc -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | stages: 2 | - byte-compile 3 | - test 4 | - artifact 5 | 6 | variables: 7 | VERSION: "0.7.6" 8 | PKG: "maxima-${VERSION}.tar.gz" 9 | 10 | default: 11 | before_script: 12 | - apt-get update && apt-get install -y make 13 | 14 | 15 | byte-compile:27.2: 16 | stage: byte-compile 17 | image: silex/emacs:27.2 18 | cache: 19 | policy: pull 20 | script: 21 | - make compile-test 22 | 23 | test:27.2: 24 | stage: test 25 | image: silex/emacs:27.2 26 | cache: 27 | policy: pull 28 | before_script: 29 | - apt-get update && apt-get install -y make maxima 30 | script: 31 | - make test 32 | 33 | lint:27.2: 34 | stage: test 35 | image: silex/emacs:27.2 36 | cache: 37 | policy: pull 38 | script: 39 | - make lint 40 | 41 | test:26.3: 42 | stage: test 43 | image: silex/emacs:26.3 44 | cache: 45 | policy: pull 46 | before_script: 47 | - apt-get update && apt-get install -y make maxima 48 | script: 49 | - make test 50 | 51 | lint:26.3: 52 | stage: test 53 | image: silex/emacs:26.3 54 | cache: 55 | policy: pull 56 | script: 57 | - make lint 58 | 59 | artifact: 60 | stage: artifact 61 | image: silex/emacs:27.2 62 | cache: 63 | policy: pull 64 | script: 65 | - make package 66 | artifacts: 67 | paths: 68 | - $PKG 69 | expire_in: 1 week 70 | -------------------------------------------------------------------------------- /CHANGELOG.org: -------------------------------------------------------------------------------- 1 | * Changelog 2 | All notable changes to this project will be documented in this file. 3 | 4 | The format is based on [[https://keepachangelog.com/en/1.0.0/][Keep a Changelog]]. 5 | 6 | ** [0.7.6] - 2020-11-22 7 | *** Added 8 | + Test for the non-nil =maxima-inferior-auxiliar-filter= 9 | + Added =maxima-apropos= menu button 10 | + Added =maxima-symbol-doc= menu button and key binding 11 | 12 | *** Changed 13 | + README updated with the new functions 14 | 15 | *** Fixed 16 | + Delete duplicated README information 17 | + Fix =maxima-inferior-filter= function, now it take into account the $ operator 18 | 19 | *** Removed 20 | + -interactive suffix functions 21 | 22 | [0.7.6]: https://gitlab.com/sasanidas/maxima/-/tags/0.7.6 23 | 24 | 25 | ** [0.7.5] - 2020-11-11 26 | *** Added 27 | 28 | *** Changed 29 | 30 | *** Fixed 31 | + Fix function order of arguments 32 | 33 | *** Removed 34 | 35 | [0.7.5]: https://gitlab.com/sasanidas/maxima/-/tags/0.7.5 36 | 37 | 38 | ** [0.7.4] - 2020-11-06 39 | *** Added 40 | + Decouple =maxima-get-info-on-subject= from the global auxiliary process 41 | + The test section of the Makefile has been rewrite, make it suitable for CI/CD 42 | + The .gitignore file 43 | + Added CHANGELOG.org 44 | + Added Gitlab CI/CD integration 45 | 46 | *** Changed 47 | + Now the test are self contained, can be executed without leaving any background process. 48 | + Some tests are not active, this is due to a CI/CD time problem 49 | 50 | *** Fixed 51 | + Fix maxima-get-completions function in the company integration 52 | + Compatibility with Emacs 26.3 53 | 54 | *** Removed 55 | + hippie-expand functions 56 | 57 | [0.7.4]: https://gitlab.com/sasanidas/maxima/-/tags/0.7.4 58 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | maxima 635 | Copyright (C) 2020 Fermin 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | maxima Copyright (C) 2020 Fermin 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | EMACS=emacs 2 | FILES=maxima.el company-maxima.el maxima-font-lock.el 3 | 4 | .PHONY: test package elpa clean build-keywords compile-test lint 5 | 6 | package: *.el 7 | @ver=`grep -o "Version: .*" maxima.el | cut -c 10-`; \ 8 | tar czvf maxima-$$ver.tar.gz --mode 644 $$(find . -name \*.el) 9 | 10 | elpa: *.el 11 | @version=`grep -o "Version: .*" maxima.el | cut -c 10-`; \ 12 | dir=maxima-$$version; \ 13 | mkdir -p "$$dir"; \ 14 | cp $$(find . -name \*.el) maxima-$$version; \ 15 | echo "(define-package \"maxima\" \"$$version\" \ 16 | \"Modular in-buffer completion framework\")" \ 17 | > "$$dir"/maxima-pkg.el; \ 18 | tar cvf maxima-$$version.tar --mode 644 "$$dir" 19 | 20 | clean: 21 | @rm -rf maxima-*/ maxima-*.tar maxima-*.tar.bz2 *.elc ert.el .elpa/ 22 | 23 | make-test: 24 | ${EMACS} --batch -l test/make-install.el -l test/make-test.el 25 | 26 | test: make-test clean 27 | 28 | lint: 29 | ${EMACS} --batch -l test/make-install.el -f package-lint-batch-and-exit ${FILES} 30 | 31 | build-keywords: 32 | awk '/^ -- Function/' keywords/keywords.txt > keywords/functions 33 | cd keywords && awk '/^ -- Function:/{print $$3}' functions > functions2 && rm functions && mv functions2 functions 34 | 35 | awk '/^ -- Constant/' keywords/keywords.txt > keywords/constants 36 | cd keywords && awk '/^ -- Constant/{print $$3}' constants > constants2 && rm constants && mv constants2 constants 37 | 38 | awk '/^ -- Operator/' keywords/keywords.txt > keywords/operators 39 | cd keywords && awk '/^ -- Operator/{print $$3}' operators > operators2 && rm operators && mv operators2 operators 40 | 41 | awk '/^ -- Option/' keywords/keywords.txt > keywords/options 42 | cd keywords && awk '/^ -- Option/{print $$4}' options > options2 && rm options && mv options2 options 43 | 44 | awk '/^ -- Plot/' keywords/keywords.txt > keywords/plot 45 | cd keywords && awk '/^ -- Plot/{print $$4}' plot > plot2 && rm plot && mv plot2 plot 46 | 47 | awk '/^ -- Graphic/' keywords/keywords.txt > keywords/graphic 48 | cd keywords && awk '/^ -- Graphic/{print $$4}' graphic > graphic2 && rm graphic && mv graphic2 graphic 49 | 50 | awk '/^ -- draw_/' keywords/keywords.txt >> keywords/graphic 51 | cd keywords && awk '/^ -- draw_/{print $$3}' graphic >> graphic 52 | 53 | awk '/^ -- System/' keywords/keywords.txt > keywords/system_variables 54 | cd keywords && awk '/^ -- System/{print $$4}' system_variables > system_variables2 && rm system_variables && mv system_variables2 system_variables 55 | 56 | awk '/^ -- Scene/' keywords/keywords.txt > keywords/scene 57 | cd keywords && awk '/^ -- Scene/{print $$4}' scene > scene2 && rm scene && mv scene2 scene 58 | 59 | awk '/^ -- Object/' keywords/keywords.txt > keywords/object 60 | cd keywords && awk '/^ -- Object/{print $$4}' object > object2 && rm object && mv object2 object 61 | 62 | awk '/^ -- Global/' keywords/keywords.txt > keywords/global 63 | cd keywords && awk '/^ -- Global/{print $$4}' global > global2 && rm global && mv global2 global 64 | 65 | awk '/^ -- Property/' keywords/keywords.txt > keywords/properties 66 | cd keywords && awk '/^ -- Property/{print $$3}' properties > properties2 && rm properties && mv properties2 properties 67 | 68 | awk '/^ -- Special/' keywords/keywords.txt > keywords/special 69 | cd keywords && awk '/^ -- Special/{print $$4}' special > special2 && rm special && mv special2 special 70 | 71 | compile: 72 | ${EMACS} --batch -l test/make-install.el -L . -f batch-byte-compile maxima.el maxima-*.el 73 | 74 | compile-test: compile clean 75 | -------------------------------------------------------------------------------- /README.org: -------------------------------------------------------------------------------- 1 | #+html:

2 | * Maxima.el 3 | 4 | [[https://melpa.org/#/maxima][file:https://melpa.org/packages/maxima-badge.svg]] 5 | [[https://stable.melpa.org/#/maxima][file:https://stable.melpa.org/packages/maxima-badge.svg]] 6 | [[License: GPL v3][https://img.shields.io/badge/License-GPLv3-blue.svg]] 7 | 8 | #+html: pipeline status 9 | #+html: pipeline status 10 | #+html:
11 | ** *EmacsConf 2020 talk [[https://emacsconf.org/2020/talks/33/][here]]* 12 | :PROPERTIES: 13 | :TOC: :include descendants 14 | :END: 15 | 16 | :CONTENTS: 17 | - [[#features][Features]] 18 | - [[#install][Install]] 19 | - [[#source][Source]] 20 | - [[#quelpa][Quelpa]] 21 | - [[#melpa][Melpa]] 22 | - [[#use-pacakge--straightel][use-package + straight.el]] 23 | - [[#major-mode][Major-mode]] 24 | - [[#indentation][Indentation]] 25 | - [[#motion-commands][Motion commands]] 26 | - [[#completions-command][Completions command]] 27 | - [[#help-commands][Help commands]] 28 | - [[#interaction-with-the-maxima-process][Interaction with the Maxima process]] 29 | - [[#minor-mode][Minor-mode]] 30 | - [[#interaction-commands][Interaction commands]] 31 | - [[#reading-maxima-results-in-the-minibuffer][Reading Maxima results in the minibuffer]] 32 | - [[#inferior-mode][Inferior-mode]] 33 | - [[#scroll-through-previous-commands][Scroll through previous commands,]] 34 | - [[#external-packages][External packages]] 35 | - [[#company][Company]] 36 | - [[#org-mode-and-latex][Org-mode and Latex]] 37 | - [[#imenu][Imenu]] 38 | - [[#polymode][Polymode]] 39 | - [[#license][License]] 40 | :END: 41 | 42 | ** Features 43 | + Font Highlight 44 | + Smart indentation 45 | + Help functions (documentation and symbol signature) 46 | + Imenu integration 47 | + Latex support ([[https://orgmode.org/manual/Previewing-LaTeX-fragments.html][org-mode-latex-preview]]) 48 | + Autocompletion support ([[https://github.com/company-mode/company-mode][company-mode]]) 49 | + Multiple major modes ([[https://github.com/polymode/polymode][polymode]]) 50 | + Maxima subprocess integration 51 | + Minibuffer minor-mode 52 | + Tests and CI ([[https://gitlab.com/sasanidas/maxima/-/pipelines][gitlab-ci]]) 53 | + [[https://gitlab.com/sasanidas/maxima/-/issues?label_name%5B%5D=Feature][More to come!]] 54 | 55 | 56 | ** Install 57 | *** Source 58 | To install, put this repository somewhere in your Emacs load path. 59 | 60 | To make sure that *maxima.el* is loaded when necessary, whether to 61 | edit a file in maxima mode or interact with Maxima in an Emacs buffer, 62 | put the lines: 63 | 64 | #+BEGIN_SRC emacs-lisp 65 | (add-to-list 'load-path "/path/to/maxima/") 66 | #+END_SRC 67 | 68 | In your .emacs or init.el file. If you want any file ending in .mac to begin 69 | in *maxima-mode*, for example, put the line: 70 | 71 | #+BEGIN_SRC emacs-lisp 72 | (setq auto-mode-alist (cons '("\\.mac" . maxima-mode) auto-mode-alist)) 73 | #+END_SRC 74 | 75 | 76 | *** Quelpa 77 | You can install it with [[https://github.com/quelpa/quelpa][quelpa]]: 78 | 79 | #+begin_src emacs-lisp 80 | (quelpa '(maxima :type git :host gitlab :repo "sasanidas/maxima")) 81 | #+end_src 82 | 83 | 84 | *** Melpa 85 | The maxima package can be found [[https://melpa.org/#/maxima][here]], to install it with package.el : 86 | 87 | =M-x package-install RET maxima RET= to install =maxima= from [[https://melpa.org/][MELPA]]. 88 | 89 | 90 | *** use-package + straight.el 91 | This is a configuration example with =use-package= (it's also my personal configuration): 92 | 93 | #+begin_src emacs-lisp 94 | (use-package maxima 95 | :init 96 | (setq org-format-latex-options (plist-put org-format-latex-options :scale 2.0) 97 | maxima-display-maxima-buffer nil) 98 | (add-to-list 'auto-mode-alist 99 | (cons "\\.mac\\'" 'maxima-mode)) 100 | (add-to-list 'interpreter-mode-alist 101 | (cons "maxima" 'maxima-mode))) 102 | #+end_src 103 | 104 | 105 | 106 | ** Major-mode 107 | Maxima.el major mode, it's the main mode that enhance the maxima editing experience 108 | 109 | To put the current buffer into maxima-mode, type: 110 | =M-x maxima-mode= 111 | 112 | *** Indentation 113 | 114 | Indentation by default will be to the same level as the 115 | previous line, with an additional space added for open parentheses. 116 | 117 | The behaviour of indent can be changed by the command =M-x maxima-change-indent-style=. 118 | 119 | The possibilities are: 120 | 121 | | *Standard* | Simply indent | 122 | | *Perhaps smart* | Tries to guess an appropriate indentation, based on pen parentheses, "do" loops, etc. | 123 | 124 | 125 | The default can be set by setting the value of the variable 126 | =maxima-indent-style= to either 'standard or 'perhaps-smart. 127 | 128 | In both cases, =M-x maxima-untab= will remove a level of indentation. 129 | 130 | 131 | *** Motion commands 132 | Main motions commands, this can be used inside the =maxima-mode= buffer. 133 | 134 | | Key combination | Function name | Explanation | 135 | |-----------------+-------------------------------+----------------------------------------------------| 136 | | M-C-a | maxima-goto-beginning-of-form | Move to the beginning of the form. | 137 | | M-C-e | maxima-goto-end-of-form | Move to the end of the form. | 138 | | M-C-b | maxima-goto-beginning-of-list | Move to the beginning of the list. | 139 | | M-C-f | maxima-goto-end-of-list | Move to the end of the list. | 140 | | M-h | maxima-mark-form | Mark the current form | 141 | | C-c ) | maxima-check-parens-region | Check the current region for balanced parentheses. | 142 | | C-c C-) | maxima-check-form-parens | Check the current form for balanced parentheses. | 143 | 144 | 145 | *** Completions command 146 | 147 | | Key combination | Function name | Explanation | 148 | |-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------| 149 | | M-TAB | maxima-complete | Complete the Maxima symbol as much as possible, providing a completion buffer if there is more than one possible completion. | 150 | 151 | Portions of the buffer can be sent to a Maxima process. (If a process is not running, one will be started.) 152 | 153 | 154 | *** Help commands 155 | In *any* of the Maxima modes, to get help on a prompted for Maxima topic, 156 | use *C-c* *C-d* *h* or *f12*. 157 | 158 | + Help with the symbol under point, use ("d" for describe): 159 | 160 | | Key combination | Function name | 161 | |-----------------+------------------------| 162 | | C-c C-d d | maxima-completion-help | 163 | | C-c C-d C-d | maxima-completion-help | 164 | 165 | + Eldoc-like information 166 | 167 | | Key combination | Function name | 168 | |-----------------+-------------------| 169 | | C-c C-d s | maxima-symbol-doc | 170 | 171 | + Apropos 172 | 173 | | Key combination | Function name | 174 | |-----------------+----------------| 175 | | C-c C-d a | maxima-apropos | 176 | | C-C C-d C-a | maxima-apropos | 177 | | M-f12 | maxima-apropos | 178 | 179 | To get apropos with the symbol under point, use: 180 | 181 | | Key combination | Function name | 182 | |-----------------+---------------------| 183 | | C-c C-d p | maxima-apropos-help | 184 | | C-C C-d C-p | maxima-apropos-help | 185 | 186 | + Maxima info manual, use: 187 | 188 | | Key combination | Function name | 189 | |-----------------+---------------| 190 | | C-c C-d m | maxima-info | 191 | | C-C C-d C-m | maxima-info | 192 | | C-C C-d i | maxima-info | 193 | | C-C C-d C-i | maxima-info | 194 | 195 | 196 | (For Maxima minor mode, replace C-cC-d by C-c=d.) 197 | 198 | 199 | *** Interaction with the Maxima process 200 | When something is sent to Maxima, a buffer running an inferior Maxima 201 | process will appear if the variable =maxima-display-buffer= is t (default behaviour). 202 | 203 | It can also be made to appear by using the command =C-c C-p=. 204 | 205 | When a command is given to send information to Maxima, the region 206 | (buffer, line, form) is first checked to make sure the parentheses 207 | are balanced. 208 | 209 | The Maxima process can be killed, after asking for confirmation 210 | with =C-c C-k=. 211 | 212 | To kill without confirmation, give =maxima-stop= an argument. 213 | 214 | 215 | | Key combination | Function name | Explanation | 216 | |-----------------+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------| 217 | | C-c C-r | maxima-send-region | Send the region to Maxima. | 218 | | C-c C-b | maxima-send-buffer | Send the buffer to Maxima. | 219 | | C-c C-c | maxima-send-line | Send the line to Maxima. | 220 | | C-c C-e | maxima-send-previous-form | Send the form to Maxima. | 221 | | C-RET | maxima-send-full-line-and-goto-next-form | Send the smallest set of lines which contains the cursor and contains no incomplete forms, and go to the next form. | 222 | | M-RET | maxima-send-completed-region-and-goto-next-form | As above, but with the region instead of the current line. | 223 | | C-c C-l | maxima-load-file | Prompt for a file name to load into Maxima. | 224 | 225 | 226 | 227 | ** Minor-mode 228 | 229 | =maxima-minor-mode= provides convenient keybindings for the various 230 | interactions between Maxima and the minibuffer. 231 | 232 | It can be made easily available with =M-x maxima-minor-mode=, that will start the minor mode. 233 | 234 | There is also the possibility to enable =maxima-minor-mode= globally with: 235 | 236 | #+begin_src emacs-lisp 237 | (require 'maxima) 238 | (global-maxima-minor-mode) 239 | #+end_src 240 | 241 | *** Interaction commands 242 | 243 | The command =M-x maxima-minibuffer= 244 | will allow you to interact with Maxima from the minibuffer. 245 | The arrows will allow you to scroll through previous inputs. 246 | 247 | The command =maxima-insert-last-output= will insert 248 | the last maxima output into the current buffer; if the output is in 2d, 249 | this will look unpleasant. 250 | The command =maxima-insert-last-output-tex= 251 | will insert the TeX form of the output. 252 | Additionally, the command =maxima-insert-last-output-tex-wrap= 253 | will do the same but with the result wrapped as an environment. 254 | 255 | | Key combination | Function | 256 | |-----------------+----------------------------------------| 257 | | C-c=e | maxima-minibuffer-on-determined-region | 258 | | C-c=l | maxima-minibuffer-on-line | 259 | | C-c=r | maxima-minibuffer-on-region | 260 | | C-c=f | maxima-minibuffer-on-form | 261 | | C-c=m | maxima-minibuffer | 262 | | C-c=o | maxima-insert-last-output | 263 | | C-c=t | maxima-insert-last-output-tex | 264 | 265 | 266 | *** Reading Maxima results in the minibuffer 267 | 268 | The command =maxima-minibuffer-on-determined-region= 269 | will send the part of the current buffer containing the point and between 270 | the regexps =maxima-minor-prefix= and =maxima-minor-postfix= (currently 271 | both blank lines) to the Maxima process and insert the result in the 272 | minibuffer. 273 | 274 | With an argument, =maxima-minibuffer-in-determined-region= 275 | will also insert the output into the current buffer, after " ==> " 276 | and before "//". (The symbol ` ==> ' is the value of the customizable 277 | variable `maxima-minor-output' and "//" is the value of 278 | =maxima-minor-output-end=. The new output is inserted, these strings 279 | will be used to delete the old output. 280 | 281 | 282 | Outside of comments in maxima-mode, the opening and closing indicators 283 | are the values of =maxima-mode-minor-output= and 284 | =maxima-mode-minor-output-end=, which by default are " /*==>" and 285 | " <==*/", respectively. 286 | 287 | The commands =maxima-minibuffer-on-region=, =maxima-minibuffer-on-line= 288 | and =maxima-minibuffer-on-form= work similarly to 289 | =maxima-minibuffer-on-determined-region=, but send the current region 290 | (respectively, the current line, current form) to Maxima and display 291 | the result in the minibuffer. 292 | (The form is the region between the preceding ; or $ and the subsequent 293 | ; or $) 294 | 295 | Care must be taken when inserting the output into the current buffer 296 | with =maxima-minibuffer-on-region= and =maxima-minibuffer-on-form=. 297 | With =maxima-minibuffer-on-region=, as with 298 | =maxima-minibuffer-on-determined-region= above, everything after any 299 | "==>" in the region will be ignored. 300 | 301 | What will typically happen with =maxima-minibuffer-on-region= and 302 | =maxima-minibuffer-on-form=, however, is that new outputs will 303 | be inserted without old output being deleted. 304 | 305 | 306 | 307 | 308 | ** Inferior-mode 309 | To run Maxima interactively in a inferior-buffer, type =M-x maxima= 310 | In the Maxima process buffer,return will check the line for balanced parentheses, and send line as input. 311 | 312 | **** Scroll through previous commands 313 | 314 | | Key combination | Explanation | 315 | |-----------------+-----------------------------------------------------------------------| 316 | | M-p | Bring the previous input to the current prompt, | 317 | | M-n | Bring the next input to the prompt. | 318 | | M-r | Bring the previous input matching a regular expression to the prompt, | 319 | | M-s | Bring the next input matching a regular expression to the prompt. | 320 | 321 | *Comment* 322 | If you have [[https://sites.google.com/site/imaximaimath/][imaxima]] installed then it can also be used to render the output 323 | with latex (see https://gitlab.com/sasanidas/maxima/-/issues/34). 324 | 325 | ** External packages 326 | These are integration with various packages from internal Emacs, [[https://elpa.gnu.org/][ELPA]] or [[https://melpa.org/][MELPA]]. 327 | 328 | *** Company 329 | [[https://melpa.org/#/company-maxima][file:https://melpa.org/packages/company-maxima-badge.svg]] [[https://stable.melpa.org/#/company-maxima][file:https://stable.melpa.org/packages/company-maxima-badge.svg]] 330 | 331 | Maxima.el have a company backend for people who use [[https://melpa.org/#/company][company-mode]], to enable it, make sure that [[file:company-maxima.el][company-maxima.el]] is loaded. 332 | (Assume that the file is already in the =load-path=) 333 | For example: 334 | 335 | #+begin_src emacs-lisp :tangle yes 336 | (require 'company-maxima) 337 | (add-to-list 'company-backends '(company-maxima-symbols company-maxima-libraries)) 338 | #+end_src 339 | 340 | This will create the backend and add it to the =company-backends= list. 341 | 342 | 343 | *** Org-mode and Latex 344 | By default, [[https://orgmode.org/][org-mode]] supports maxima syntax highlight, export results and plot integration. 345 | To enable it, you have add it to =org-babel-load-languages= : 346 | 347 | #+begin_src emacs-lisp :tangle yes 348 | (org-babel-do-load-languages 349 | 'org-babel-load-languages 350 | '((maxima . t))) 351 | #+end_src 352 | 353 | More information in [[https://www.orgmode.org/worg/org-contrib/babel/languages/ob-doc-maxima.html][here]]. 354 | 355 | With tex integration, we use org-mode latex functionalities, to use it you must have: 356 | 357 | + [[HTTPS://www.latex-project.org/get/][LATEX]] 358 | + One of the =org-preview-latex= software in order to convert latex to image 359 | + dvipng 360 | + dvisvgm 361 | + imagemagic 362 | 363 | The variable =org-preview-latex-process-alist= show more extend information about it, the default 364 | one is defined in =org-preview-latex-default-process=. 365 | 366 | It is recommended to increase the latex format font, the default one is quite small: 367 | #+begin_src emacs-lisp :tangle yes 368 | (setq org-format-latex-options (plist-put org-format-latex-options :scale 2.0)) 369 | #+end_src 370 | 371 | Available functions: 372 | 373 | | Function name | Explanation | 374 | |--------------------------+-----------------------------------------------------| 375 | | maxima-latex-insert-form | Insert the preview latex image below the current form | 376 | 377 | 378 | 379 | 380 | 381 | *** Imenu 382 | The integration is activated by default in any =maxima-mode= buffer, 383 | to get the list, just call the =imenu= interactive function. 384 | 385 | 386 | *** Polymode 387 | *EXPERIMENTAL* 388 | 389 | Maxima has the statement :lisp, which enable common-lisp integration, 390 | this polymode make possible to have =common-lisp-mode= enable inside 391 | the =maxima-mode= buffer. 392 | 393 | Make sure that the file [[file:poly-maxima.el][poly-maxima.el]] is loaded, you can try this configuration: 394 | (Assume that the file is already in the =load-path=) 395 | 396 | #+begin_src emacs-lisp :tangle yes 397 | (require 'poly-maxima) 398 | (setq auto-mode-alist (cons '("\\.mac" . poly-maxima) auto-mode-alist)) 399 | #+end_src 400 | 401 | The way it works is that it creates a custom tail with a comment, so 402 | you can expand all the lisp code the way you want, and then contract it with a simple command. 403 | (Maxima only allow one line :lisp statement) 404 | 405 | Available functions: 406 | 407 | | Function name | Explanation | 408 | |---------------------------+--------------------------------------------------------------| 409 | | poly-maxima-insert-block | Insert a :lisp code with the correct poly-maxima syntax. | 410 | | poly-maxima-contract-lisp | Handy function to contract into a single line the Lisp code. | 411 | 412 | 413 | 414 | 415 | 416 | ** License 417 | #+begin_example 418 | General Public License Version 3 (GPLv3) 419 | Copyright (c) Fermin MF - https://sasanidas.gitlab.io/f-site/ 420 | https://gitlab.com/sasanidas/maxima/-/blob/master/LICENSE 421 | #+end_example 422 | -------------------------------------------------------------------------------- /company-maxima.el: -------------------------------------------------------------------------------- 1 | ;;; company-maxima.el --- Maxima company integration -*- lexical-binding: t; -*- 2 | 3 | ;; Copyright (C) 2023 Fermin Munoz 4 | 5 | ;; Author: Fermin Munoz 6 | ;; Maintainer: Fermin Munoz 7 | ;; Created: 5 October 2020 8 | ;; Version: 0.7.6 9 | ;; Keywords: languages,tools,convenience 10 | ;; URL: https://gitlab.com/sasanidas/maxima 11 | ;; Package-Requires: ((emacs "25.1")(maxima "0.6.1")(seq "2.20")(company "0.9.13")) 12 | ;; License: GPL-3.0-or-later 13 | 14 | ;; This program is free software; you can redistribute it and/or modify 15 | ;; it under the terms of the GNU General Public License as published by 16 | ;; the Free Software Foundation, either version 3 of the License, or 17 | ;; (at your option) any later version. 18 | 19 | ;; This program is distributed in the hope that it will be useful, 20 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | ;; GNU General Public License for more details. 23 | 24 | ;; You should have received a copy of the GNU General Public License 25 | ;; along with this program. If not, see . 26 | ;; 27 | 28 | ;;; Commentary: 29 | ;; Maxima `company-mode' backend. 30 | ;; it uses the `maxima-mode' function `maxima-get-completions' with the 31 | ;; native apropos(); maxima function. 32 | ;; 33 | ;; It can also autocomplete libraries inside load with `maxima-get-libraries'. 34 | 35 | 36 | ;;; Code: 37 | 38 | ;;;; The requires 39 | (require 'company) 40 | (require 'maxima) 41 | 42 | (defun company-maxima-libraries (command &optional _arg &rest ignored) 43 | "Autocomplete maxima libraries inside load maxima function. 44 | It requires COMMAND, optionally _ARG and IGNORED." 45 | (interactive (list 'interactive)) 46 | (cl-case command 47 | (interactive (company-begin-backend 'company-maxima-backend)) 48 | (prefix (and (or (eq major-mode 'maxima-mode ) 49 | (eq major-mode 'maxima-inferior-mode)) 50 | (company-in-string-or-comment) 51 | ;; FIXME this could be improve, if the load string is in other line, it doesn't work 52 | (string-match (rx (literal "load")(syntax open-parenthesis)(syntax string-quote)) (thing-at-point 'line t)) 53 | (company-grab-symbol))) 54 | (duplicates t) 55 | (candidates (maxima-get-libraries (company-grab-symbol))))) 56 | 57 | (defun company-maxima-symbols (command &optional _arg &rest ignored) 58 | "Company backend for `maxima-mode'. 59 | It requires COMMAND, optionally _ARG and IGNORED." 60 | (interactive (list 'interactive)) 61 | (cl-case command 62 | (interactive (company-begin-backend 'company-maxima-backend)) 63 | (prefix (and (or (eq major-mode 'maxima-mode ) 64 | (eq major-mode 'maxima-inferior-mode)) 65 | (not (company-in-string-or-comment)) 66 | (company-grab-symbol))) 67 | (duplicates t) 68 | (candidates (maxima-get-completions (company-grab-symbol) maxima-auxiliary-inferior-process)))) 69 | 70 | (provide 'company-maxima) 71 | ;;; company-maxima.el ends here 72 | -------------------------------------------------------------------------------- /keywords/constants: -------------------------------------------------------------------------------- 1 | %e 2 | %gamma 3 | %i 4 | %phi 5 | %pi 6 | %e 7 | infinity 8 | %e 9 | %e 10 | %gamma 11 | false 12 | %phi 13 | %i 14 | %i 15 | ind 16 | ind 17 | inf 18 | infinity 19 | minf 20 | minf 21 | minf 22 | %phi 23 | %pi 24 | inf 25 | true 26 | und 27 | und 28 | zeroa 29 | zerob 30 | -------------------------------------------------------------------------------- /keywords/functions: -------------------------------------------------------------------------------- 1 | airy_ai 2 | airy_dai 3 | airy_bi 4 | airy_dbi 5 | bessel_j 6 | bessel_y 7 | bessel_i 8 | bessel_k 9 | hankel_1 10 | hankel_2 11 | scaled_bessel_i 12 | scaled_bessel_i0 13 | scaled_bessel_i1 14 | %s 15 | adjust_external_format 16 | alphacharp 17 | alphanumericp 18 | ascii 19 | cequal 20 | cequalignore 21 | cgreaterp 22 | cgreaterpignore 23 | charp 24 | cint 25 | clessp 26 | clesspignore 27 | constituent 28 | digitcharp 29 | lowercasep 30 | unicode 31 | unicode_to_utf8 32 | uppercasep 33 | utf8_to_unicode 34 | binomial 35 | factcomb 36 | factorial 37 | genfact 38 | minfactorial 39 | mandelbrot_set 40 | julia_set 41 | julia_sin 42 | sierpinskiale 43 | treefale 44 | fernfale 45 | snowmap 46 | hilbertmap 47 | sierpinskimap 48 | chdir 49 | mkdir 50 | rmdir 51 | getcurrentdirectory 52 | getenv 53 | erf 54 | erfc 55 | erfi 56 | erf_generalized 57 | fresnel_c 58 | fresnel_s 59 | expintegral_e1 60 | expintegral_ei 61 | expintegral_li 62 | expintegral_e 63 | expintegral_si 64 | expintegral_ci 65 | expintegral_shi 66 | expintegral_chi 67 | copy_file 68 | rename_file 69 | delete_file 70 | fast_linsolve 71 | grobner_basis 72 | set_up_dot_simplifications 73 | declare_weights 74 | nc_degree 75 | dotsimp 76 | fast_central_elements 77 | check_overlaps 78 | mono 79 | monomial_dimensions 80 | extract_linear_equations 81 | list_nc_monomials 82 | define_alt_display 83 | info_display 84 | mathml_display 85 | tex_display 86 | multi_display_for_texinfo 87 | set_alt_display 88 | set_prompt 89 | init_atensor 90 | atensimp 91 | alg_type 92 | sf 93 | af 94 | av 95 | abasep 96 | augmented_lagrangian_method 97 | bernstein_poly 98 | multibernstein_poly 99 | bernstein_approx 100 | bernstein_expand 101 | assume_external_byte_order 102 | openr_binary 103 | openw_binary 104 | opena_binary 105 | read_binary_matrix 106 | read_binary_array 107 | read_binary_list 108 | write_binary_data 109 | bit_not 110 | bit_and 111 | bit_or 112 | bit_xor 113 | bit_lsh 114 | bit_rsh 115 | bit_length 116 | bit_onep 117 | bode_gain 118 | bode_phase 119 | run_testsuite 120 | bug_report 121 | build_info 122 | clebsch_gordan 123 | racah_v 124 | racah_w 125 | wigner_3j 126 | wigner_6j 127 | wigner_9j 128 | fmin_cobyla 129 | bf_fmin_cobyla 130 | apply_cycles 131 | cyclep 132 | perm_cycles 133 | perm_decomp 134 | perm_inverse 135 | perm_length 136 | perm_lex_next 137 | perm_lex_rank 138 | perm_lex_unrank 139 | perm_next 140 | perm_parity 141 | perm_rank 142 | perm_undecomp 143 | perm_unrank 144 | permp 145 | perms 146 | perms_lex 147 | permult 148 | permute 149 | random_perm 150 | %th 151 | kill 152 | labels 153 | playback 154 | quit 155 | read 156 | readonly 157 | reset 158 | to_lisp 159 | pdf_normal 160 | cdf_normal 161 | quantile_normal 162 | mean_normal 163 | var_normal 164 | std_normal 165 | skewness_normal 166 | kurtosis_normal 167 | random_normal 168 | pdf_student_t 169 | cdf_student_t 170 | quantile_student_t 171 | mean_student_t 172 | var_student_t 173 | std_student_t 174 | skewness_student_t 175 | kurtosis_student_t 176 | random_student_t 177 | pdf_noncentral_student_t 178 | cdf_noncentral_student_t 179 | quantile_noncentral_student_t 180 | mean_noncentral_student_t 181 | var_noncentral_student_t 182 | std_noncentral_student_t 183 | skewness_noncentral_student_t 184 | kurtosis_noncentral_student_t 185 | random_noncentral_student_t 186 | pdf_chi2 187 | cdf_chi2 188 | quantile_chi2 189 | mean_chi2 190 | var_chi2 191 | std_chi2 192 | skewness_chi2 193 | kurtosis_chi2 194 | random_chi2 195 | pdf_noncentral_chi2 196 | cdf_noncentral_chi2 197 | quantile_noncentral_chi2 198 | mean_noncentral_chi2 199 | var_noncentral_chi2 200 | std_noncentral_chi2 201 | skewness_noncentral_chi2 202 | kurtosis_noncentral_chi2 203 | random_noncentral_chi2 204 | pdf_f 205 | cdf_f 206 | quantile_f 207 | mean_f 208 | var_f 209 | std_f 210 | skewness_f 211 | kurtosis_f 212 | random_f 213 | pdf_exp 214 | cdf_exp 215 | quantile_exp 216 | mean_exp 217 | var_exp 218 | std_exp 219 | skewness_exp 220 | kurtosis_exp 221 | random_exp 222 | pdf_lognormal 223 | cdf_lognormal 224 | quantile_lognormal 225 | mean_lognormal 226 | var_lognormal 227 | std_lognormal 228 | skewness_lognormal 229 | kurtosis_lognormal 230 | random_lognormal 231 | pdf_gamma 232 | cdf_gamma 233 | quantile_gamma 234 | mean_gamma 235 | var_gamma 236 | std_gamma 237 | skewness_gamma 238 | kurtosis_gamma 239 | random_gamma 240 | pdf_beta 241 | cdf_beta 242 | quantile_beta 243 | mean_beta 244 | var_beta 245 | std_beta 246 | skewness_beta 247 | kurtosis_beta 248 | random_beta 249 | pdf_continuous_uniform 250 | cdf_continuous_uniform 251 | quantile_continuous_uniform 252 | mean_continuous_uniform 253 | var_continuous_uniform 254 | std_continuous_uniform 255 | skewness_continuous_uniform 256 | kurtosis_continuous_uniform 257 | random_continuous_uniform 258 | pdf_logistic 259 | cdf_logistic 260 | quantile_logistic 261 | mean_logistic 262 | var_logistic 263 | std_logistic 264 | skewness_logistic 265 | kurtosis_logistic 266 | random_logistic 267 | pdf_pareto 268 | cdf_pareto 269 | quantile_pareto 270 | mean_pareto 271 | var_pareto 272 | std_pareto 273 | skewness_pareto 274 | kurtosis_pareto 275 | random_pareto 276 | pdf_weibull 277 | cdf_weibull 278 | quantile_weibull 279 | mean_weibull 280 | var_weibull 281 | std_weibull 282 | skewness_weibull 283 | kurtosis_weibull 284 | random_weibull 285 | pdf_rayleigh 286 | cdf_rayleigh 287 | quantile_rayleigh 288 | mean_rayleigh 289 | var_rayleigh 290 | std_rayleigh 291 | skewness_rayleigh 292 | kurtosis_rayleigh 293 | random_rayleigh 294 | pdf_laplace 295 | cdf_laplace 296 | quantile_laplace 297 | mean_laplace 298 | var_laplace 299 | std_laplace 300 | skewness_laplace 301 | kurtosis_laplace 302 | random_laplace 303 | pdf_cauchy 304 | cdf_cauchy 305 | quantile_cauchy 306 | random_cauchy 307 | pdf_gumbel 308 | cdf_gumbel 309 | quantile_gumbel 310 | mean_gumbel 311 | var_gumbel 312 | std_gumbel 313 | skewness_gumbel 314 | kurtosis_gumbel 315 | random_gumbel 316 | contrib_ode 317 | odelin 318 | ode_check 319 | gauss_a 320 | gauss_b 321 | dgauss_a 322 | dgauss_b 323 | kummer_m 324 | kummer_u 325 | dkummer_m 326 | dkummer_u 327 | bessel_simplify 328 | expintegral_e_simplify 329 | csetup 330 | cmetric 331 | ct_coordsys 332 | init_ctensor 333 | christof 334 | ricci 335 | uricci 336 | scurvature 337 | einstein 338 | leinstein 339 | riemann 340 | lriemann 341 | uriemann 342 | rinvariant 343 | weyl 344 | ctaylor 345 | frame_bracket 346 | nptetrad 347 | psi 348 | petrov 349 | contortion 350 | nonmetricity 351 | ctransform 352 | findde 353 | cograd 354 | contragrad 355 | dscalar 356 | checkdiv 357 | cgeodesic 358 | bdvac 359 | invariant1 360 | invariant2 361 | bimetric 362 | diagmatrixp 363 | symmetricp 364 | ntermst 365 | cdisplay 366 | deleten 367 | build_sample 368 | continuous_freq 369 | discrete_freq 370 | standardize 371 | subsample 372 | transform_sample 373 | timer 374 | untimer 375 | timer_info 376 | trace 377 | trace_options 378 | untrace 379 | mean 380 | var 381 | var1 382 | std 383 | std1 384 | noncentral_moment 385 | central_moment 386 | cv 387 | smin 388 | smax 389 | range 390 | quantile 391 | median 392 | qrange 393 | mean_deviation 394 | median_deviation 395 | harmonic_mean 396 | geometric_mean 397 | kurtosis 398 | skewness 399 | pearson_skewness 400 | quartile_skewness 401 | km 402 | cdf_empirical 403 | cov 404 | cov1 405 | global_variances 406 | cor 407 | list_correlations 408 | principal_components 409 | diag 410 | JF 411 | jordan 412 | dispJordan 413 | minimalPoly 414 | ModeMatrix 415 | mat_function 416 | bc2 417 | desolve 418 | ic1 419 | ic2 420 | ode2 421 | antid 422 | antidiff 423 | at 424 | atvalue 425 | cartan 426 | del 427 | delta 428 | dependencies 429 | depends 430 | derivdegree 431 | derivlist 432 | diff 433 | dscalar 434 | express 435 | gradef 436 | laplace 437 | pdf_general_finite_discrete 438 | cdf_general_finite_discrete 439 | quantile_general_finite_discrete 440 | mean_general_finite_discrete 441 | var_general_finite_discrete 442 | std_general_finite_discrete 443 | skewness_general_finite_discrete 444 | kurtosis_general_finite_discrete 445 | random_general_finite_discrete 446 | pdf_binomial 447 | cdf_binomial 448 | quantile_binomial 449 | mean_binomial 450 | var_binomial 451 | std_binomial 452 | skewness_binomial 453 | kurtosis_binomial 454 | random_binomial 455 | pdf_poisson 456 | cdf_poisson 457 | quantile_poisson 458 | mean_poisson 459 | var_poisson 460 | std_poisson 461 | skewness_poisson 462 | kurtosis_poisson 463 | random_poisson 464 | pdf_bernoulli 465 | cdf_bernoulli 466 | quantile_bernoulli 467 | mean_bernoulli 468 | var_bernoulli 469 | std_bernoulli 470 | skewness_bernoulli 471 | kurtosis_bernoulli 472 | random_bernoulli 473 | pdf_geometric 474 | cdf_geometric 475 | quantile_geometric 476 | mean_geometric 477 | var_geometric 478 | std_geometric 479 | skewness_geometric 480 | kurtosis_geometric 481 | random_geometric 482 | pdf_discrete_uniform 483 | cdf_discrete_uniform 484 | quantile_discrete_uniform 485 | mean_discrete_uniform 486 | var_discrete_uniform 487 | std_discrete_uniform 488 | skewness_discrete_uniform 489 | kurtosis_discrete_uniform 490 | random_discrete_uniform 491 | pdf_hypergeometric 492 | cdf_hypergeometric 493 | quantile_hypergeometric 494 | mean_hypergeometric 495 | var_hypergeometric 496 | std_hypergeometric 497 | skewness_hypergeometric 498 | kurtosis_hypergeometric 499 | random_hypergeometric 500 | pdf_negative_binomial 501 | cdf_negative_binomial 502 | quantile_negative_binomial 503 | mean_negative_binomial 504 | var_negative_binomial 505 | std_negative_binomial 506 | skewness_negative_binomial 507 | kurtosis_negative_binomial 508 | random_negative_binomial 509 | disp 510 | display 511 | dispterms 512 | grind 513 | ldisp 514 | ldisplay 515 | print 516 | draw 517 | draw2d 518 | draw3d 519 | draw_file 520 | multiplot_mode 521 | set_draw_defaults 522 | drawdf 523 | jacobi_sn 524 | jacobi_cn 525 | jacobi_dn 526 | jacobi_ns 527 | jacobi_sc 528 | jacobi_sd 529 | jacobi_nc 530 | jacobi_cs 531 | jacobi_cd 532 | jacobi_nd 533 | jacobi_ds 534 | jacobi_dc 535 | inverse_jacobi_sn 536 | inverse_jacobi_cn 537 | inverse_jacobi_dn 538 | inverse_jacobi_ns 539 | inverse_jacobi_sc 540 | inverse_jacobi_sd 541 | inverse_jacobi_nc 542 | inverse_jacobi_cs 543 | inverse_jacobi_cd 544 | inverse_jacobi_nd 545 | inverse_jacobi_ds 546 | inverse_jacobi_dc 547 | elliptic_f 548 | elliptic_e 549 | elliptic_eu 550 | elliptic_pi 551 | elliptic_kc 552 | elliptic_ec 553 | algsys 554 | allroots 555 | bfallroots 556 | dimension 557 | funcsolve 558 | ieqn 559 | lhs 560 | linsolve 561 | nroots 562 | nthroot 563 | realroots 564 | rhs 565 | rootscontract 566 | solve 567 | ev 568 | alias 569 | args 570 | atom 571 | box 572 | collapse 573 | copy 574 | disolate 575 | dispform 576 | dpart 577 | freeof 578 | inpart 579 | isolate 580 | listofvars 581 | lfreeof 582 | lpart 583 | nounify 584 | nterms 585 | op 586 | operatorp 587 | optimize 588 | ordergreat 589 | orderless 590 | ordergreatp 591 | orderlessp 592 | part 593 | partition 594 | pickapart 595 | psubst 596 | rembox 597 | reveal 598 | sublis 599 | subst 600 | substinpart 601 | substpart 602 | symbolp 603 | unorder 604 | verbify 605 | constvalue 606 | declare_constvalue 607 | remove_constvalue 608 | units 609 | declare_units 610 | qty 611 | declare_qty 612 | unitp 613 | declare_unit_conversion 614 | declare_dimensions 615 | remove_dimensions 616 | declare_fundamental_dimensions 617 | remove_fundamental_dimensions 618 | declare_fundamental_units 619 | remove_fundamental_units 620 | dimensions 621 | dimensions_as_list 622 | fundamental_units 623 | dimensionless 624 | natural_unit 625 | activate 626 | askinteger 627 | asksign 628 | assume 629 | deactivate 630 | facts 631 | forget 632 | is 633 | killcontext 634 | maybe 635 | newcontext 636 | sign 637 | supcontext 638 | polartorect 639 | recttopolar 640 | inverse_fft 641 | fft 642 | real_fft 643 | inverse_real_fft 644 | bf_inverse_fft 645 | bf_fft 646 | bf_real_fft 647 | bf_inverse_real_fft 648 | appendfile 649 | batch 650 | batchload 651 | closefile 652 | filename_merge 653 | file_search 654 | file_type 655 | load 656 | loadfile 657 | directory 658 | pathname_directory 659 | pathname_name 660 | pathname_type 661 | printfile 662 | save 663 | stringout 664 | with_stdout 665 | writefile 666 | days360 667 | fv 668 | pv 669 | graph_flow 670 | annuity_pv 671 | annuity_fv 672 | geo_annuity_pv 673 | geo_annuity_fv 674 | amortization 675 | arit_amortization 676 | geo_amortization 677 | saving 678 | npv 679 | irr 680 | benefit_cost 681 | fortran 682 | equalp 683 | remfun 684 | funp 685 | absint 686 | fourier 687 | foursimp 688 | fourexpand 689 | fourcos 690 | foursin 691 | totalfourier 692 | fourint 693 | fourintcos 694 | fourintsin 695 | apply 696 | block 697 | break 698 | catch 699 | compfile 700 | compile 701 | define 702 | define_variable 703 | dispfun 704 | fullmap 705 | fullmapl 706 | fundef 707 | funmake 708 | lambda 709 | local 710 | mode_declare 711 | mode_identity 712 | remfunction 713 | translate 714 | translate_file 715 | tr_warnings_get 716 | compile_file 717 | declare_translated 718 | ggf 719 | create_graph 720 | copy_graph 721 | circulant_graph 722 | clebsch_graph 723 | complement_graph 724 | complete_bipartite_graph 725 | complete_graph 726 | cycle_digraph 727 | cycle_graph 728 | cuboctahedron_graph 729 | cube_graph 730 | dodecahedron_graph 731 | empty_graph 732 | flower_snark 733 | from_adjacency_matrix 734 | frucht_graph 735 | graph_product 736 | graph_union 737 | grid_graph 738 | great_rhombicosidodecahedron_graph 739 | great_rhombicuboctahedron_graph 740 | grotzch_graph 741 | heawood_graph 742 | icosahedron_graph 743 | icosidodecahedron_graph 744 | induced_subgraph 745 | line_graph 746 | make_graph 747 | mycielski_graph 748 | new_graph 749 | path_digraph 750 | path_graph 751 | petersen_graph 752 | random_bipartite_graph 753 | random_digraph 754 | random_regular_graph 755 | random_graph 756 | random_graph1 757 | random_network 758 | random_tournament 759 | random_tree 760 | small_rhombicosidodecahedron_graph 761 | small_rhombicuboctahedron_graph 762 | snub_cube_graph 763 | snub_dodecahedron_graph 764 | truncated_cube_graph 765 | truncated_dodecahedron_graph 766 | truncated_icosahedron_graph 767 | truncated_tetrahedron_graph 768 | tutte_graph 769 | underlying_graph 770 | wheel_graph 771 | adjacency_matrix 772 | average_degree 773 | biconnected_components 774 | bipartition 775 | chromatic_index 776 | chromatic_number 777 | clear_edge_weight 778 | clear_vertex_label 779 | connected_components 780 | diameter 781 | edge_coloring 782 | degree_sequence 783 | edge_connectivity 784 | edges 785 | get_edge_weight 786 | get_vertex_label 787 | graph_charpoly 788 | graph_center 789 | graph_eigenvalues 790 | graph_periphery 791 | graph_size 792 | graph_order 793 | girth 794 | hamilton_cycle 795 | hamilton_path 796 | isomorphism 797 | in_neighbors 798 | is_biconnected 799 | is_bipartite 800 | is_connected 801 | is_digraph 802 | is_edge_in_graph 803 | is_graph 804 | is_graph_or_digraph 805 | is_isomorphic 806 | is_planar 807 | is_sconnected 808 | is_vertex_in_graph 809 | is_tree 810 | laplacian_matrix 811 | max_clique 812 | max_degree 813 | max_flow 814 | max_independent_set 815 | max_matching 816 | min_degree 817 | min_edge_cut 818 | min_vertex_cover 819 | min_vertex_cut 820 | minimum_spanning_tree 821 | neighbors 822 | odd_girth 823 | out_neighbors 824 | planar_embedding 825 | print_graph 826 | radius 827 | set_edge_weight 828 | set_vertex_label 829 | shortest_path 830 | shortest_weighted_path 831 | strong_components 832 | topological_sort 833 | vertex_connectivity 834 | vertex_degree 835 | vertex_distance 836 | vertex_eccentricity 837 | vertex_in_degree 838 | vertex_out_degree 839 | vertices 840 | vertex_coloring 841 | wiener_index 842 | add_edge 843 | add_edges 844 | add_vertex 845 | add_vertices 846 | connect_vertices 847 | contract_edge 848 | remove_edge 849 | remove_vertex 850 | dimacs_export 851 | dimacs_import 852 | graph6_decode 853 | graph6_encode 854 | graph6_export 855 | graph6_import 856 | sparse6_decode 857 | sparse6_encode 858 | sparse6_export 859 | sparse6_import 860 | draw_graph 861 | vertices_to_path 862 | vertices_to_cycle 863 | poly_add 864 | poly_subtract 865 | poly_multiply 866 | poly_s_polynomial 867 | poly_primitive_part 868 | poly_normalize 869 | poly_expand 870 | poly_expt 871 | poly_content 872 | poly_pseudo_divide 873 | poly_exact_divide 874 | poly_normal_form 875 | poly_buchberger_criterion 876 | poly_buchberger 877 | poly_reduction 878 | poly_minimization 879 | poly_normalize_list 880 | poly_grobner 881 | poly_reduced_grobner 882 | poly_depends_p 883 | poly_elimination_ideal 884 | poly_colon_ideal 885 | poly_ideal_intersection 886 | poly_lcm 887 | poly_gcd 888 | poly_grobner_equal 889 | poly_grobner_subsetp 890 | poly_grobner_member 891 | poly_ideal_saturation1 892 | poly_ideal_saturation 893 | poly_ideal_polysaturation1 894 | poly_ideal_polysaturation 895 | poly_saturation_extension 896 | poly_polysaturation_extension 897 | todd_coxeter 898 | apropos 899 | demo 900 | describe 901 | example 902 | implicit_derivative 903 | inference_result 904 | inferencep 905 | items_inference 906 | take_inference 907 | changevar 908 | dblint 909 | defint 910 | ilt 911 | integrate 912 | ldefint 913 | potential 914 | residue 915 | risch 916 | tldefint 917 | lagrange 918 | charfun2 919 | linearinterpol 920 | cspline 921 | ratinterpol 922 | dispcon 923 | entertensor 924 | changename 925 | listoftens 926 | ishow 927 | indices 928 | rename 929 | show 930 | defcon 931 | remcon 932 | contract 933 | indexed_tensor 934 | components 935 | remcomps 936 | showcomps 937 | idummy 938 | kdelta 939 | kdels 940 | levi_civita 941 | lc2kdt 942 | lc_l 943 | lc_u 944 | canten 945 | concan 946 | decsym 947 | remsym 948 | canform 949 | diff 950 | idiff 951 | liediff 952 | rediff 953 | undiff 954 | evundiff 955 | flush 956 | flushd 957 | flushnd 958 | coord 959 | remcoord 960 | makebox 961 | conmetderiv 962 | simpmetderiv 963 | flush1deriv 964 | imetric 965 | idim 966 | ichr1 967 | ichr2 968 | icurvature 969 | covdiff 970 | lorentz_gauge 971 | igeodesic_coords 972 | iframes 973 | extdiff 974 | hodge 975 | tentex 976 | ic_convert 977 | dgeev 978 | dgeqrf 979 | dgesv 980 | dgesvd 981 | dlange 982 | zlange 983 | dgemm 984 | zgeev 985 | zheev 986 | lbfgs 987 | limit 988 | tlimit 989 | Lindstedt 990 | addmatrices 991 | blockmatrixp 992 | columnop 993 | columnswap 994 | columnspace 995 | cholesky 996 | ctranspose 997 | diag_matrix 998 | dotproduct 999 | eigens_by_jacobi 1000 | get_lu_factors 1001 | hankel 1002 | hessian 1003 | hilbert_matrix 1004 | identfor 1005 | invert_by_lu 1006 | jacobian 1007 | kronecker_product 1008 | listp 1009 | locate_matrix_entry 1010 | lu_backsub 1011 | lu_factor 1012 | mat_cond 1013 | mat_norm 1014 | matrixp 1015 | matrix_size 1016 | mat_fullunblocker 1017 | mat_trace 1018 | mat_unblocker 1019 | nullspace 1020 | nullity 1021 | orthogonal_complement 1022 | polynomialp 1023 | polytocompanion 1024 | ptriangularize 1025 | rowop 1026 | rank 1027 | rowswap 1028 | toeplitz 1029 | vandermonde_matrix 1030 | zerofor 1031 | zeromatrixp 1032 | lsquares_estimates 1033 | lsquares_estimates_exact 1034 | lsquares_estimates_approximate 1035 | lsquares_mse 1036 | lsquares_residuals 1037 | lsquares_residual_mse 1038 | plsquares 1039 | makeOrders 1040 | addcol 1041 | addrow 1042 | adjoint 1043 | augcoefmatrix 1044 | cauchy_matrix 1045 | charpoly 1046 | coefmatrix 1047 | col 1048 | columnvector 1049 | covect 1050 | copymatrix 1051 | determinant 1052 | diagmatrix 1053 | echelon 1054 | eigenvalues 1055 | eivals 1056 | eigenvectors 1057 | eivects 1058 | ematrix 1059 | entermatrix 1060 | genmatrix 1061 | gramschmidt 1062 | ident 1063 | innerproduct 1064 | inprod 1065 | invert_by_adjoint 1066 | invert 1067 | list_matrix_entries 1068 | matrix 1069 | matrixexp 1070 | matrixmap 1071 | matrixp 1072 | mattrace 1073 | minor 1074 | ncharpoly 1075 | newdet 1076 | permanent 1077 | rank 1078 | row 1079 | scalefactors 1080 | setelmx 1081 | similaritytransform 1082 | simtran 1083 | submatrix 1084 | transpose 1085 | triangularize 1086 | uniteigenvectors 1087 | ueivects 1088 | unitvector 1089 | uvect 1090 | vectorpotential 1091 | vectorsimp 1092 | zeromatrix 1093 | minpack_lsquares 1094 | minpack_solve 1095 | gensym 1096 | remvalue 1097 | rncombine 1098 | setup_autoload 1099 | tcl_output 1100 | mnewton 1101 | bern 1102 | bernpoly 1103 | bfzeta 1104 | bfhzeta 1105 | burn 1106 | chinese 1107 | cf 1108 | cfdisrep 1109 | cfexpand 1110 | divsum 1111 | euler 1112 | fib 1113 | fibtophi 1114 | ifactors 1115 | igcdex 1116 | inrt 1117 | inv_mod 1118 | isqrt 1119 | jacobi 1120 | lcm 1121 | lucas 1122 | mod 1123 | next_prime 1124 | partfrac 1125 | power_mod 1126 | primep 1127 | primes 1128 | prev_prime 1129 | qunit 1130 | totient 1131 | zeta 1132 | zn_add_table 1133 | zn_characteristic_factors 1134 | zn_carmichael_lambda 1135 | zn_determinant 1136 | zn_factor_generators 1137 | zn_invert_by_lu 1138 | zn_log 1139 | zn_mult_table 1140 | zn_nth_root 1141 | zn_order 1142 | zn_power_table 1143 | zn_primroot 1144 | zn_primroot_p 1145 | opsubst 1146 | assoc_legendre_p 1147 | assoc_legendre_q 1148 | chebyshev_t 1149 | chebyshev_u 1150 | gen_laguerre 1151 | hermite 1152 | intervalp 1153 | jacobi_p 1154 | laguerre 1155 | legendre_p 1156 | legendre_q 1157 | orthopoly_recur 1158 | orthopoly_weight 1159 | pochhammer 1160 | spherical_bessel_j 1161 | spherical_bessel_y 1162 | spherical_hankel1 1163 | spherical_hankel2 1164 | spherical_harmonic 1165 | unit_step 1166 | ultraspherical 1167 | get_pixel 1168 | make_level_picture 1169 | make_rgb_picture 1170 | negative_picture 1171 | picture_equalp 1172 | picturep 1173 | read_xpm 1174 | rgb2level 1175 | take_channel 1176 | read_matrix 1177 | read_array 1178 | read_hash_table 1179 | read_nested_list 1180 | read_list 1181 | write_data 1182 | contour_plot 1183 | get_plot_option 1184 | implicit_plot 1185 | julia 1186 | make_transform 1187 | mandelbrot 1188 | plot2d 1189 | plot3d 1190 | remove_plot_option 1191 | set_plot_option 1192 | intopois 1193 | outofpois 1194 | poisdiff 1195 | poisexpt 1196 | poisint 1197 | poismap 1198 | poisplus 1199 | poissimp 1200 | poissubst 1201 | poistimes 1202 | poistrim 1203 | printpois 1204 | bezout 1205 | bothcoef 1206 | coeff 1207 | content 1208 | denom 1209 | divide 1210 | eliminate 1211 | ezgcd 1212 | factor 1213 | factorout 1214 | factorsum 1215 | fasttimes 1216 | fullratsimp 1217 | fullratsubst 1218 | gcd 1219 | gcdex 1220 | gcfactor 1221 | gfactor 1222 | gfactorsum 1223 | hipow 1224 | lopow 1225 | lratsubst 1226 | num 1227 | polydecomp 1228 | polymod 1229 | quotient 1230 | rat 1231 | ratcoef 1232 | ratdenom 1233 | ratdiff 1234 | ratdisrep 1235 | ratexpand 1236 | ratnumer 1237 | ratp 1238 | ratsimp 1239 | ratsimp 1240 | ratsubst 1241 | ratvars 1242 | ratvars 1243 | ratweight 1244 | remainder 1245 | resultant 1246 | showratvars 1247 | sqfr 1248 | tellrat 1249 | totaldisrep 1250 | untellrat 1251 | charfun 1252 | compare 1253 | equal 1254 | notequal 1255 | unknown 1256 | zeroequiv 1257 | backtrace 1258 | errcatch 1259 | error 1260 | warning 1261 | errormsg 1262 | go 1263 | map 1264 | mapatom 1265 | maplist 1266 | return 1267 | scanmap 1268 | throw 1269 | outermap 1270 | constantp 1271 | declare 1272 | featurep 1273 | get 1274 | nonscalarp 1275 | printprops 1276 | properties 1277 | propvars 1278 | put 1279 | qput 1280 | rem 1281 | remove 1282 | scalarp 1283 | quad_qag 1284 | quad_qags 1285 | quad_qagi 1286 | quad_qawc 1287 | quad_qawf 1288 | quad_qawo 1289 | quad_qaws 1290 | quad_qagp 1291 | quad_control 1292 | ratp_hipow 1293 | ratp_lopow 1294 | ratp_coeffs 1295 | ratp_dense_coeffs 1296 | romberg 1297 | apply1 1298 | apply2 1299 | applyb1 1300 | defmatch 1301 | defrule 1302 | disprule 1303 | let 1304 | letrules 1305 | letsimp 1306 | matchdeclare 1307 | remlet 1308 | remrule 1309 | tellsimp 1310 | tellsimpafter 1311 | clear_rules 1312 | room 1313 | sstatus 1314 | status 1315 | system 1316 | time 1317 | timedate 1318 | parse_timedate 1319 | encode_time 1320 | decode_time 1321 | absolute_real_time 1322 | elapsed_real_time 1323 | elapsed_run_time 1324 | deftaylor 1325 | niceindices 1326 | nusum 1327 | pade 1328 | powerseries 1329 | revert 1330 | revert2 1331 | taylor 1332 | taylorinfo 1333 | taylorp 1334 | taylor_simplifier 1335 | taytorat 1336 | trunc 1337 | unsum 1338 | adjoin 1339 | belln 1340 | cardinality 1341 | cartesian_product 1342 | disjoin 1343 | disjointp 1344 | divisors 1345 | elementp 1346 | emptyp 1347 | equiv_classes 1348 | every 1349 | extremal_subset 1350 | flatten 1351 | full_listify 1352 | fullsetify 1353 | identity 1354 | integer_partitions 1355 | intersect 1356 | intersection 1357 | kron_delta 1358 | listify 1359 | makeset 1360 | moebius 1361 | multinomial_coeff 1362 | num_distinct_partitions 1363 | num_partitions 1364 | partition_set 1365 | permutations 1366 | powerset 1367 | random_permutation 1368 | setdifference 1369 | setequalp 1370 | setify 1371 | setp 1372 | set_partitions 1373 | some 1374 | stirling1 1375 | stirling2 1376 | subset 1377 | subsetp 1378 | symmdifference 1379 | union 1380 | linear_program 1381 | maximize_lp 1382 | minimize_lp 1383 | combine 1384 | demoivre 1385 | distrib 1386 | expand 1387 | expandwrt 1388 | expandwrt_factored 1389 | exponentialize 1390 | multthru 1391 | define_opproperty 1392 | radcan 1393 | scsimp 1394 | xthru 1395 | reduce_order 1396 | simplify_sum 1397 | solve_rec 1398 | solve_rec_rat 1399 | summand_to_rec 1400 | pdf_signed_rank 1401 | cdf_signed_rank 1402 | pdf_rank_sum 1403 | cdf_rank_sum 1404 | specint 1405 | hypergeometric_simp 1406 | hgfred 1407 | lambert_w 1408 | generalized_lambert_w 1409 | nzeta 1410 | nzetar 1411 | nzetai 1412 | barsplot 1413 | barsplot_description 1414 | boxplot 1415 | boxplot_description 1416 | histogram 1417 | histogram_description 1418 | piechart 1419 | piechart_description 1420 | scatterplot 1421 | scatterplot_description 1422 | starplot 1423 | starplot_description 1424 | stemplot 1425 | test_mean 1426 | test_means_difference 1427 | test_variance 1428 | test_variance_ratio 1429 | test_proportion 1430 | test_proportions_difference 1431 | test_sign 1432 | test_signed_rank 1433 | test_rank_sum 1434 | test_normality 1435 | linear_regression 1436 | stirling 1437 | bashindices 1438 | lsum 1439 | intosum 1440 | product 1441 | sum 1442 | sumcontract 1443 | comp2pui 1444 | ele2pui 1445 | ele2comp 1446 | elem 1447 | mon2schur 1448 | multi_elem 1449 | multi_pui 1450 | pui 1451 | pui2comp 1452 | pui2ele 1453 | puireduc 1454 | schur2comp 1455 | cont2part 1456 | contract 1457 | explose 1458 | part2cont 1459 | partpol 1460 | tcontract 1461 | tpartpol 1462 | direct 1463 | multi_orbit 1464 | multsym 1465 | orbit 1466 | pui_direct 1467 | kostka 1468 | lgtreillis 1469 | ltreillis 1470 | treillis 1471 | treinat 1472 | ele2polynome 1473 | polynome2ele 1474 | prodrac 1475 | pui2polynome 1476 | somrac 1477 | resolvante 1478 | resolvante_alternee1 1479 | resolvante_bipartite 1480 | resolvante_diedrale 1481 | resolvante_klein 1482 | resolvante_klein3 1483 | resolvante_produit_sym 1484 | resolvante_unitaire 1485 | resolvante_vierer 1486 | multinomial 1487 | permut 1488 | tex 1489 | tex1 1490 | texput 1491 | get_tex_environment 1492 | set_tex_environment 1493 | get_tex_environment_default 1494 | set_tex_environment_default 1495 | complex_number_p 1496 | compose_functions 1497 | dfloat 1498 | elim 1499 | elim_allbut 1500 | eliminate_using 1501 | fourier_elim 1502 | isreal_p 1503 | new_variable 1504 | nicedummies 1505 | parg 1506 | real_imagpart_to_conjugate 1507 | rectform_log_if_constant 1508 | simp_inequality 1509 | standardize_inverse_trig 1510 | subst_parallel 1511 | to_poly 1512 | to_poly_solve 1513 | setunits 1514 | uforget 1515 | convert 1516 | metricexpandall 1517 | numbered_boundaries 1518 | make_poly_continent 1519 | make_poly_country 1520 | make_polygon 1521 | region_boundaries 1522 | region_boundaries_plus 1523 | wc_typicalvalues 1524 | wc_inputvalueranges 1525 | wc_systematic 1526 | wc_montecarlo 1527 | wc_mintypmax 1528 | wc_tolappend 1529 | wc_mintypmax2tol 1530 | AntiDifference 1531 | Gosper 1532 | GosperSum 1533 | parGosper 1534 | Zeilberger 1535 | cabs 1536 | carg 1537 | conjugate 1538 | imagpart 1539 | polarform 1540 | realpart 1541 | rectform 1542 | abs 1543 | ceiling 1544 | entier 1545 | floor 1546 | fix 1547 | lmax 1548 | lmin 1549 | max 1550 | min 1551 | round 1552 | signum 1553 | truncate 1554 | plotdf 1555 | ploteq 1556 | rk 1557 | horner 1558 | find_root 1559 | find_root 1560 | bf_find_root 1561 | bf_find_root 1562 | newton 1563 | bffac 1564 | bfpsi 1565 | bfpsi0 1566 | cbffac 1567 | gamma 1568 | log_gamma 1569 | gamma_incomplete_lower 1570 | gamma_incomplete 1571 | gamma_incomplete_regularized 1572 | gamma_incomplete_generalized 1573 | makegamma 1574 | beta 1575 | beta_incomplete 1576 | beta_incomplete_regularized 1577 | beta_incomplete_generalized 1578 | psi 1579 | makefact 1580 | numfactor 1581 | gnuplot_start 1582 | gnuplot_close 1583 | gnuplot_restart 1584 | gnuplot_replot 1585 | gnuplot_reset 1586 | chaosgame 1587 | evolution 1588 | evolution2d 1589 | ifs 1590 | orbits 1591 | staircase 1592 | %m 1593 | %w 1594 | %f 1595 | hypergeometric 1596 | close 1597 | flength 1598 | flush_output 1599 | fposition 1600 | freshline 1601 | get_output_stream_string 1602 | make_string_input_stream 1603 | make_string_output_stream 1604 | newline 1605 | opena 1606 | openr 1607 | openw 1608 | printf 1609 | readbyte 1610 | readchar 1611 | readline 1612 | sprint 1613 | writebyte 1614 | asympa 1615 | buildq 1616 | macroexpand 1617 | macroexpand1 1618 | splice 1619 | base64 1620 | base64_decode 1621 | crc24sum 1622 | md5sum 1623 | mgf1_sha1 1624 | number_to_octets 1625 | octets_to_number 1626 | octets_to_oid 1627 | octets_to_string 1628 | oid_to_octets 1629 | sha1sum 1630 | sha256sum 1631 | string_to_octets 1632 | f90 1633 | facsum 1634 | factorfacsum 1635 | collectterms 1636 | rempart 1637 | wronskian 1638 | tracematrix 1639 | rational 1640 | nonzeroandfreeof 1641 | linear 1642 | gcdivide 1643 | arithmetic 1644 | geometric 1645 | harmonic 1646 | arithsum 1647 | geosum 1648 | gaussprob 1649 | gd 1650 | agd 1651 | vers 1652 | covers 1653 | exsec 1654 | hav 1655 | combination 1656 | permutation 1657 | reduce_consts 1658 | gcfac 1659 | sqrtdenest 1660 | parabolic_cylinder_d 1661 | make_random_state 1662 | set_random_state 1663 | random 1664 | exp 1665 | li 1666 | log 1667 | logarc 1668 | logcontract 1669 | plog 1670 | sqrt 1671 | charat 1672 | charlist 1673 | eval_string 1674 | parse_string 1675 | scopy 1676 | sdowncase 1677 | sequal 1678 | sequalignore 1679 | sexplode 1680 | simplode 1681 | sinsert 1682 | sinvertcase 1683 | slength 1684 | smake 1685 | smismatch 1686 | split 1687 | sposition 1688 | sremove 1689 | sremovefirst 1690 | sreverse 1691 | ssearch 1692 | ssort 1693 | ssubst 1694 | ssubstfirst 1695 | strim 1696 | striml 1697 | strimr 1698 | stringp 1699 | substring 1700 | supcase 1701 | tokens 1702 | struve_h 1703 | struve_l 1704 | infix 1705 | matchfix 1706 | nary 1707 | nofix 1708 | postfix 1709 | prefix 1710 | scene 1711 | factorial 1712 | %f 1713 | %m 1714 | %s 1715 | %th 1716 | %w 1717 | abasep 1718 | abs 1719 | absint 1720 | absolute_real_time 1721 | acos 1722 | acosh 1723 | acot 1724 | acoth 1725 | acsc 1726 | acsch 1727 | activate 1728 | addcol 1729 | addmatrices 1730 | addrow 1731 | add_edge 1732 | add_edges 1733 | add_vertex 1734 | add_vertices 1735 | adjacency_matrix 1736 | adjoin 1737 | adjoint 1738 | adjust_external_format 1739 | af 1740 | agd 1741 | airy_ai 1742 | airy_bi 1743 | airy_dai 1744 | airy_dbi 1745 | algsys 1746 | alg_type 1747 | alias 1748 | allroots 1749 | alphacharp 1750 | alphanumericp 1751 | amortization 1752 | annuity_fv 1753 | annuity_pv 1754 | antid 1755 | antidiff 1756 | AntiDifference 1757 | append 1758 | appendfile 1759 | apply 1760 | apply1 1761 | apply2 1762 | applyb1 1763 | apply_cycles 1764 | apropos 1765 | args 1766 | arithmetic 1767 | arithsum 1768 | arit_amortization 1769 | array 1770 | arrayapply 1771 | arrayinfo 1772 | arraymake 1773 | arraysetapply 1774 | ascii 1775 | asec 1776 | asech 1777 | asin 1778 | asinh 1779 | askinteger 1780 | asksign 1781 | assoc 1782 | assoc_legendre_p 1783 | assoc_legendre_q 1784 | assume 1785 | assume_external_byte_order 1786 | asympa 1787 | at 1788 | atan 1789 | atan2 1790 | atanh 1791 | atensimp 1792 | atom 1793 | atvalue 1794 | augcoefmatrix 1795 | augmented_lagrangian_method 1796 | av 1797 | average_degree 1798 | backtrace 1799 | barsplot 1800 | barsplot_description 1801 | base64 1802 | base64_decode 1803 | bashindices 1804 | batch 1805 | batchload 1806 | bc2 1807 | bdvac 1808 | belln 1809 | benefit_cost 1810 | bern 1811 | bernpoly 1812 | bernstein_approx 1813 | bernstein_expand 1814 | bernstein_poly 1815 | bessel_i 1816 | bessel_j 1817 | bessel_k 1818 | bessel_simplify 1819 | bessel_y 1820 | beta 1821 | beta_incomplete 1822 | beta_incomplete_generalized 1823 | beta_incomplete_regularized 1824 | bezout 1825 | bfallroots 1826 | bffac 1827 | bfhzeta 1828 | bfloat 1829 | bfloatp 1830 | bfpsi 1831 | bfpsi0 1832 | bfpsi 1833 | bfpsi0 1834 | bfzeta 1835 | bf_fft 1836 | find_root 1837 | bf_find_root 1838 | bf_find_root 1839 | bf_find_root 1840 | bf_find_root 1841 | bf_fmin_cobyla 1842 | bf_inverse_fft 1843 | bf_inverse_real_fft 1844 | bf_real_fft 1845 | biconnected_components 1846 | bimetric 1847 | binomial 1848 | bipartition 1849 | bit_and 1850 | bit_length 1851 | bit_lsh 1852 | bit_not 1853 | bit_onep 1854 | bit_or 1855 | bit_rsh 1856 | bit_xor 1857 | block 1858 | blockmatrixp 1859 | bode_gain 1860 | bode_phase 1861 | bothcoef 1862 | box 1863 | boxplot 1864 | boxplot_description 1865 | break 1866 | bug_report 1867 | buildq 1868 | build_info 1869 | build_sample 1870 | burn 1871 | cabs 1872 | canform 1873 | canten 1874 | cardinality 1875 | carg 1876 | cartan 1877 | cartesian_product 1878 | catch 1879 | cauchy_matrix 1880 | cbffac 1881 | cdf_bernoulli 1882 | cdf_beta 1883 | cdf_binomial 1884 | cdf_cauchy 1885 | cdf_chi2 1886 | cdf_continuous_uniform 1887 | cdf_discrete_uniform 1888 | cdf_empirical 1889 | cdf_exp 1890 | cdf_f 1891 | cdf_gamma 1892 | cdf_general_finite_discrete 1893 | cdf_geometric 1894 | cdf_gumbel 1895 | cdf_hypergeometric 1896 | cdf_laplace 1897 | cdf_logistic 1898 | cdf_lognormal 1899 | cdf_negative_binomial 1900 | cdf_noncentral_chi2 1901 | cdf_noncentral_student_t 1902 | cdf_normal 1903 | cdf_pareto 1904 | cdf_poisson 1905 | cdf_rank_sum 1906 | cdf_rayleigh 1907 | cdf_signed_rank 1908 | cdf_student_t 1909 | cdf_weibull 1910 | cdisplay 1911 | ceiling 1912 | central_moment 1913 | cequal 1914 | cequalignore 1915 | cf 1916 | cfdisrep 1917 | cfexpand 1918 | cgeodesic 1919 | cgreaterp 1920 | cgreaterpignore 1921 | changename 1922 | changevar 1923 | chaosgame 1924 | charat 1925 | charfun 1926 | charfun2 1927 | charlist 1928 | charp 1929 | charpoly 1930 | chdir 1931 | chebyshev_t 1932 | chebyshev_u 1933 | checkdiv 1934 | check_overlaps 1935 | chinese 1936 | cholesky 1937 | christof 1938 | chromatic_index 1939 | chromatic_number 1940 | cint 1941 | circulant_graph 1942 | clear_edge_weight 1943 | clear_rules 1944 | clear_vertex_label 1945 | clebsch_gordan 1946 | clebsch_graph 1947 | clessp 1948 | clesspignore 1949 | close 1950 | closefile 1951 | cmetric 1952 | coeff 1953 | coefmatrix 1954 | cograd 1955 | col 1956 | collapse 1957 | collectterms 1958 | columnop 1959 | columnspace 1960 | columnswap 1961 | columnvector 1962 | covect 1963 | combination 1964 | combine 1965 | comp2pui 1966 | compare 1967 | compfile 1968 | compile 1969 | compile_file 1970 | complement_graph 1971 | complete_bipartite_graph 1972 | complete_graph 1973 | complex_number_p 1974 | components 1975 | compose_functions 1976 | concan 1977 | concat 1978 | conjugate 1979 | conmetderiv 1980 | connected_components 1981 | connect_vertices 1982 | cons 1983 | constantp 1984 | constituent 1985 | constvalue 1986 | cont2part 1987 | content 1988 | continuous_freq 1989 | contortion 1990 | contour_plot 1991 | contract 1992 | contract 1993 | contract_edge 1994 | contragrad 1995 | contrib_ode 1996 | convert 1997 | coord 1998 | copy 1999 | copylist 2000 | copymatrix 2001 | copy_file 2002 | copy_graph 2003 | cor 2004 | cos 2005 | cosh 2006 | cot 2007 | coth 2008 | cov 2009 | cov1 2010 | covdiff 2011 | columnvector 2012 | covect 2013 | covers 2014 | crc24sum 2015 | create_graph 2016 | create_list 2017 | csc 2018 | csch 2019 | csetup 2020 | cspline 2021 | ctaylor 2022 | ctransform 2023 | ctranspose 2024 | ct_coordsys 2025 | cube_graph 2026 | cuboctahedron_graph 2027 | cv 2028 | cyclep 2029 | cycle_digraph 2030 | cycle_graph 2031 | days360 2032 | dblint 2033 | deactivate 2034 | declare 2035 | declare_constvalue 2036 | declare_dimensions 2037 | declare_fundamental_dimensions 2038 | remove_fundamental_dimensions 2039 | declare_fundamental_units 2040 | remove_fundamental_units 2041 | declare_qty 2042 | declare_translated 2043 | declare_units 2044 | declare_unit_conversion 2045 | declare_weights 2046 | decode_time 2047 | decsym 2048 | defcon 2049 | define 2050 | define_alt_display 2051 | define_opproperty 2052 | define_variable 2053 | defint 2054 | defmatch 2055 | defrule 2056 | defstruct 2057 | deftaylor 2058 | degree_sequence 2059 | del 2060 | delete 2061 | deleten 2062 | delete_file 2063 | delta 2064 | demo 2065 | demoivre 2066 | demoivre 2067 | denom 2068 | dependencies 2069 | dependencies 2070 | depends 2071 | derivdegree 2072 | derivlist 2073 | describe 2074 | desolve 2075 | determinant 2076 | dfloat 2077 | dgauss_a 2078 | dgauss_b 2079 | dgeev 2080 | dgemm 2081 | dgeqrf 2082 | dgesv 2083 | dgesvd 2084 | diag 2085 | diagmatrix 2086 | diagmatrixp 2087 | diag_matrix 2088 | diameter 2089 | diff 2090 | diff 2091 | digitcharp 2092 | dimacs_export 2093 | dimacs_import 2094 | dimension 2095 | dimensionless 2096 | dimensions 2097 | dimensions_as_list 2098 | dimensions 2099 | dimensions_as_list 2100 | direct 2101 | directory 2102 | discrete_freq 2103 | disjoin 2104 | disjointp 2105 | disolate 2106 | disp 2107 | dispcon 2108 | dispform 2109 | dispfun 2110 | dispJordan 2111 | display 2112 | disprule 2113 | dispterms 2114 | distrib 2115 | divide 2116 | divisors 2117 | divsum 2118 | dkummer_m 2119 | dkummer_u 2120 | dlange 2121 | zlange 2122 | dodecahedron_graph 2123 | dotproduct 2124 | dotsimp 2125 | dpart 2126 | draw 2127 | draw2d 2128 | draw3d 2129 | drawdf 2130 | draw_file 2131 | draw_graph 2132 | dscalar 2133 | dscalar 2134 | echelon 2135 | edges 2136 | edge_coloring 2137 | edge_connectivity 2138 | eigens_by_jacobi 2139 | eigenvalues 2140 | eivals 2141 | eigenvectors 2142 | eivects 2143 | eighth 2144 | einstein 2145 | eigenvalues 2146 | eivals 2147 | eigenvectors 2148 | eivects 2149 | elapsed_real_time 2150 | elapsed_run_time 2151 | ele2comp 2152 | ele2polynome 2153 | ele2pui 2154 | elem 2155 | elementp 2156 | elim 2157 | eliminate 2158 | eliminate_using 2159 | elim_allbut 2160 | elliptic_e 2161 | elliptic_ec 2162 | elliptic_eu 2163 | elliptic_f 2164 | elliptic_kc 2165 | elliptic_pi 2166 | ematrix 2167 | emptyp 2168 | empty_graph 2169 | encode_time 2170 | endcons 2171 | entermatrix 2172 | entertensor 2173 | entier 2174 | equal 2175 | equalp 2176 | equiv_classes 2177 | erf 2178 | erfc 2179 | erfi 2180 | erf_generalized 2181 | errcatch 2182 | error 2183 | error 2184 | errormsg 2185 | euler 2186 | ev 2187 | eval_string 2188 | evenp 2189 | every 2190 | evolution 2191 | evolution2d 2192 | evundiff 2193 | example 2194 | exp 2195 | expand 2196 | expandwrt 2197 | expandwrt_factored 2198 | expintegral_chi 2199 | expintegral_ci 2200 | expintegral_e 2201 | expintegral_e1 2202 | expintegral_ei 2203 | expintegral_e_simplify 2204 | expintegral_li 2205 | expintegral_shi 2206 | expintegral_si 2207 | explose 2208 | exponentialize 2209 | exponentialize 2210 | express 2211 | exsec 2212 | extdiff 2213 | extract_linear_equations 2214 | extremal_subset 2215 | ezgcd 2216 | f90 2217 | facsum 2218 | factcomb 2219 | factor 2220 | factorfacsum 2221 | factorial 2222 | factorout 2223 | factorsum 2224 | facts 2225 | fasttimes 2226 | fast_central_elements 2227 | fast_linsolve 2228 | featurep 2229 | fernfale 2230 | fft 2231 | fib 2232 | fibtophi 2233 | fifth 2234 | filename_merge 2235 | file_search 2236 | file_type 2237 | fillarray 2238 | findde 2239 | find_root 2240 | find_root 2241 | bf_find_root 2242 | bf_find_root 2243 | find_root 2244 | find_root 2245 | bf_find_root 2246 | bf_find_root 2247 | bf_find_root 2248 | first 2249 | firstn 2250 | fix 2251 | flatten 2252 | flength 2253 | float 2254 | floatnump 2255 | floor 2256 | flower_snark 2257 | flush 2258 | flush1deriv 2259 | flushd 2260 | flushnd 2261 | flush_output 2262 | fmin_cobyla 2263 | forget 2264 | fortran 2265 | fourcos 2266 | fourexpand 2267 | fourier 2268 | fourier_elim 2269 | fourint 2270 | fourintcos 2271 | fourintsin 2272 | foursimp 2273 | foursin 2274 | fourth 2275 | fposition 2276 | frame_bracket 2277 | freeof 2278 | freshline 2279 | fresnel_c 2280 | fresnel_s 2281 | from_adjacency_matrix 2282 | frucht_graph 2283 | fullmap 2284 | fullmapl 2285 | fullratsimp 2286 | fullratsubst 2287 | fullsetify 2288 | full_listify 2289 | funcsolve 2290 | remove_fundamental_dimensions 2291 | fundamental_units 2292 | fundef 2293 | funmake 2294 | funp 2295 | fv 2296 | gamma 2297 | gamma_incomplete 2298 | gamma_incomplete_generalized 2299 | gamma_incomplete_lower 2300 | gamma_incomplete_regularized 2301 | gaussprob 2302 | gauss_a 2303 | gauss_b 2304 | gcd 2305 | gcdex 2306 | gcdivide 2307 | gcfac 2308 | gcfactor 2309 | gd 2310 | generalized_lambert_w 2311 | genfact 2312 | genmatrix 2313 | gensym 2314 | gen_laguerre 2315 | geometric 2316 | geometric_mean 2317 | geosum 2318 | geo_amortization 2319 | geo_annuity_fv 2320 | geo_annuity_pv 2321 | get 2322 | getcurrentdirectory 2323 | getenv 2324 | get_edge_weight 2325 | get_lu_factors 2326 | get_output_stream_string 2327 | get_pixel 2328 | get_plot_option 2329 | get_tex_environment 2330 | set_tex_environment 2331 | get_tex_environment_default 2332 | set_tex_environment_default 2333 | get_vertex_label 2334 | gfactor 2335 | gfactorsum 2336 | ggf 2337 | girth 2338 | global_variances 2339 | gnuplot_close 2340 | gnuplot_replot 2341 | gnuplot_reset 2342 | gnuplot_restart 2343 | gnuplot_start 2344 | go 2345 | Gosper 2346 | GosperSum 2347 | gradef 2348 | gramschmidt 2349 | graph6_decode 2350 | graph6_encode 2351 | graph6_export 2352 | graph6_import 2353 | graph_center 2354 | graph_charpoly 2355 | graph_eigenvalues 2356 | graph_flow 2357 | graph_order 2358 | graph_periphery 2359 | graph_product 2360 | graph_size 2361 | graph_union 2362 | great_rhombicosidodecahedron_graph 2363 | great_rhombicuboctahedron_graph 2364 | grid_graph 2365 | grind 2366 | grobner_basis 2367 | grotzch_graph 2368 | hamilton_cycle 2369 | hamilton_path 2370 | hankel 2371 | hankel_1 2372 | hankel_2 2373 | harmonic 2374 | harmonic_mean 2375 | hav 2376 | heawood_graph 2377 | describe 2378 | hermite 2379 | hessian 2380 | hgfred 2381 | hilbertmap 2382 | hilbert_matrix 2383 | hipow 2384 | histogram 2385 | histogram_description 2386 | hodge 2387 | horner 2388 | hypergeometric 2389 | hypergeometric_simp 2390 | ic1 2391 | ic2 2392 | ichr1 2393 | ichr2 2394 | icosahedron_graph 2395 | icosidodecahedron_graph 2396 | icurvature 2397 | ic_convert 2398 | ident 2399 | identfor 2400 | identity 2401 | idiff 2402 | idim 2403 | idummy 2404 | ieqn 2405 | ifactors 2406 | iframes 2407 | ifs 2408 | igcdex 2409 | igeodesic_coords 2410 | ilt 2411 | imagpart 2412 | imetric 2413 | imetric 2414 | implicit_derivative 2415 | implicit_plot 2416 | indexed_tensor 2417 | indices 2418 | induced_subgraph 2419 | inferencep 2420 | inference_result 2421 | infix 2422 | info_display 2423 | init_atensor 2424 | init_ctensor 2425 | innerproduct 2426 | inprod 2427 | inpart 2428 | innerproduct 2429 | inprod 2430 | inrt 2431 | integerp 2432 | integer_partitions 2433 | integrate 2434 | intersect 2435 | intersection 2436 | intervalp 2437 | intopois 2438 | intosum 2439 | invariant1 2440 | invariant2 2441 | inverse_fft 2442 | inverse_jacobi_cd 2443 | inverse_jacobi_cn 2444 | inverse_jacobi_cs 2445 | inverse_jacobi_dc 2446 | inverse_jacobi_dn 2447 | inverse_jacobi_ds 2448 | inverse_jacobi_nc 2449 | inverse_jacobi_nd 2450 | inverse_jacobi_ns 2451 | inverse_jacobi_sc 2452 | inverse_jacobi_sd 2453 | inverse_jacobi_sn 2454 | inverse_real_fft 2455 | invert 2456 | invert_by_adjoint 2457 | invert_by_lu 2458 | inv_mod 2459 | in_neighbors 2460 | irr 2461 | is 2462 | ishow 2463 | isolate 2464 | isomorphism 2465 | isqrt 2466 | isreal_p 2467 | is_biconnected 2468 | is_bipartite 2469 | is_connected 2470 | is_digraph 2471 | is_edge_in_graph 2472 | is_graph 2473 | is_graph_or_digraph 2474 | is_isomorphic 2475 | is_planar 2476 | is_sconnected 2477 | is_tree 2478 | is_vertex_in_graph 2479 | items_inference 2480 | jacobi 2481 | jacobian 2482 | jacobi_cd 2483 | jacobi_cn 2484 | jacobi_cs 2485 | jacobi_dc 2486 | jacobi_dn 2487 | jacobi_ds 2488 | jacobi_nc 2489 | jacobi_nd 2490 | jacobi_ns 2491 | jacobi_p 2492 | jacobi_sc 2493 | jacobi_sd 2494 | jacobi_sn 2495 | JF 2496 | join 2497 | jordan 2498 | julia 2499 | julia_set 2500 | julia_sin 2501 | kdels 2502 | kdelta 2503 | kill 2504 | killcontext 2505 | km 2506 | kostka 2507 | kronecker_product 2508 | kron_delta 2509 | kummer_m 2510 | kummer_u 2511 | kurtosis 2512 | kurtosis_bernoulli 2513 | kurtosis_beta 2514 | kurtosis_binomial 2515 | kurtosis_chi2 2516 | kurtosis_continuous_uniform 2517 | kurtosis_discrete_uniform 2518 | kurtosis_exp 2519 | kurtosis_f 2520 | kurtosis_gamma 2521 | kurtosis_general_finite_discrete 2522 | kurtosis_geometric 2523 | kurtosis_gumbel 2524 | kurtosis_hypergeometric 2525 | kurtosis_laplace 2526 | kurtosis_logistic 2527 | kurtosis_lognormal 2528 | kurtosis_negative_binomial 2529 | kurtosis_noncentral_chi2 2530 | kurtosis_noncentral_student_t 2531 | kurtosis_normal 2532 | kurtosis_pareto 2533 | kurtosis_poisson 2534 | kurtosis_rayleigh 2535 | kurtosis_student_t 2536 | kurtosis_weibull 2537 | labels 2538 | lagrange 2539 | laguerre 2540 | lambda 2541 | lambert_w 2542 | laplace 2543 | laplacian_matrix 2544 | last 2545 | lastn 2546 | lbfgs 2547 | lc2kdt 2548 | lcm 2549 | lc_l 2550 | lc_u 2551 | ldefint 2552 | ldisp 2553 | ldisplay 2554 | legendre_p 2555 | legendre_q 2556 | leinstein 2557 | length 2558 | let 2559 | letrules 2560 | letsimp 2561 | levi_civita 2562 | lfreeof 2563 | lgtreillis 2564 | lhs 2565 | li 2566 | liediff 2567 | limit 2568 | Lindstedt 2569 | linear 2570 | linearinterpol 2571 | linear_program 2572 | linear_regression 2573 | line_graph 2574 | linsolve 2575 | listarray 2576 | listify 2577 | listoftens 2578 | listofvars 2579 | listp 2580 | listp 2581 | list_correlations 2582 | list_matrix_entries 2583 | list_nc_monomials 2584 | lmax 2585 | lmin 2586 | load 2587 | loadfile 2588 | local 2589 | locate_matrix_entry 2590 | log 2591 | logarc 2592 | logarc 2593 | logcontract 2594 | log_gamma 2595 | lopow 2596 | lorentz_gauge 2597 | lowercasep 2598 | lpart 2599 | lratsubst 2600 | lreduce 2601 | lriemann 2602 | lsquares_estimates 2603 | lsquares_estimates_approximate 2604 | lsquares_estimates_exact 2605 | lsquares_mse 2606 | lsquares_residuals 2607 | lsquares_residual_mse 2608 | lsum 2609 | ltreillis 2610 | lucas 2611 | lu_backsub 2612 | lu_factor 2613 | macroexpand 2614 | macroexpand1 2615 | makebox 2616 | makefact 2617 | makegamma 2618 | makelist 2619 | makeOrders 2620 | makeset 2621 | make_array 2622 | make_graph 2623 | make_level_picture 2624 | make_polygon 2625 | make_poly_continent 2626 | make_poly_country 2627 | make_random_state 2628 | make_rgb_picture 2629 | make_string_input_stream 2630 | make_string_output_stream 2631 | make_transform 2632 | mandelbrot 2633 | mandelbrot_set 2634 | map 2635 | mapatom 2636 | maplist 2637 | matchdeclare 2638 | matchfix 2639 | mathml_display 2640 | matrix 2641 | matrixexp 2642 | matrixmap 2643 | matrixp 2644 | matrixp 2645 | matrix_size 2646 | mattrace 2647 | mat_cond 2648 | mat_fullunblocker 2649 | mat_function 2650 | mat_norm 2651 | mat_trace 2652 | mat_unblocker 2653 | max 2654 | maximize_lp 2655 | max_clique 2656 | max_degree 2657 | max_flow 2658 | max_independent_set 2659 | max_matching 2660 | maybe 2661 | md5sum 2662 | mean 2663 | mean_bernoulli 2664 | mean_beta 2665 | mean_binomial 2666 | mean_chi2 2667 | mean_continuous_uniform 2668 | mean_deviation 2669 | mean_discrete_uniform 2670 | mean_exp 2671 | mean_f 2672 | mean_gamma 2673 | mean_general_finite_discrete 2674 | mean_geometric 2675 | mean_gumbel 2676 | mean_hypergeometric 2677 | mean_laplace 2678 | mean_logistic 2679 | mean_lognormal 2680 | mean_negative_binomial 2681 | mean_noncentral_chi2 2682 | mean_noncentral_student_t 2683 | mean_normal 2684 | mean_pareto 2685 | mean_poisson 2686 | mean_rayleigh 2687 | mean_student_t 2688 | mean_weibull 2689 | median 2690 | median_deviation 2691 | member 2692 | metricexpandall 2693 | mgf1_sha1 2694 | min 2695 | minfactorial 2696 | minimalPoly 2697 | minimize_lp 2698 | minimum_spanning_tree 2699 | minor 2700 | minpack_lsquares 2701 | minpack_solve 2702 | min_degree 2703 | min_edge_cut 2704 | min_vertex_cover 2705 | min_vertex_cut 2706 | mkdir 2707 | mnewton 2708 | mod 2709 | ModeMatrix 2710 | mode_declare 2711 | mode_identity 2712 | moebius 2713 | mon2schur 2714 | mono 2715 | monomial_dimensions 2716 | multibernstein_poly 2717 | multinomial 2718 | multinomial_coeff 2719 | multiplot_mode 2720 | multi_display_for_texinfo 2721 | multi_elem 2722 | multi_orbit 2723 | multi_pui 2724 | multsym 2725 | multthru 2726 | mycielski_graph 2727 | %th 2728 | nary 2729 | natural_unit 2730 | ncharpoly 2731 | nc_degree 2732 | negative_picture 2733 | neighbors 2734 | new 2735 | newcontext 2736 | newdet 2737 | newline 2738 | newton 2739 | new_graph 2740 | new_variable 2741 | next_prime 2742 | nicedummies 2743 | niceindices 2744 | ninth 2745 | nofix 2746 | noncentral_moment 2747 | nonmetricity 2748 | nonnegintegerp 2749 | nonscalarp 2750 | nonzeroandfreeof 2751 | notequal 2752 | nounify 2753 | nptetrad 2754 | npv 2755 | nroots 2756 | nterms 2757 | ntermst 2758 | nthroot 2759 | nullity 2760 | nullspace 2761 | num 2762 | numbered_boundaries 2763 | numberp 2764 | number_to_octets 2765 | numerval 2766 | numfactor 2767 | num_distinct_partitions 2768 | num_partitions 2769 | nusum 2770 | nzeta 2771 | nzetai 2772 | nzetar 2773 | octets_to_number 2774 | octets_to_oid 2775 | octets_to_string 2776 | oddp 2777 | odd_girth 2778 | ode2 2779 | odelin 2780 | ode_check 2781 | oid_to_octets 2782 | op 2783 | opena 2784 | opena_binary 2785 | openr 2786 | openr_binary 2787 | openw 2788 | openw_binary 2789 | operatorp 2790 | opsubst 2791 | optimize 2792 | orbit 2793 | orbits 2794 | ordergreat 2795 | orderless 2796 | ordergreatp 2797 | orderlessp 2798 | ordergreat 2799 | orderless 2800 | ordergreatp 2801 | orderlessp 2802 | orthogonal_complement 2803 | orthopoly_recur 2804 | orthopoly_weight 2805 | outermap 2806 | outofpois 2807 | out_neighbors 2808 | pade 2809 | parabolic_cylinder_d 2810 | parg 2811 | parGosper 2812 | parse_string 2813 | parse_timedate 2814 | part 2815 | part2cont 2816 | partfrac 2817 | partition 2818 | partition_set 2819 | partpol 2820 | pathname_directory 2821 | pathname_name 2822 | pathname_type 2823 | pathname_directory 2824 | pathname_name 2825 | pathname_type 2826 | pathname_name 2827 | pathname_type 2828 | path_digraph 2829 | path_graph 2830 | pdf_bernoulli 2831 | pdf_beta 2832 | pdf_binomial 2833 | pdf_cauchy 2834 | pdf_chi2 2835 | pdf_continuous_uniform 2836 | pdf_discrete_uniform 2837 | pdf_exp 2838 | pdf_f 2839 | pdf_gamma 2840 | pdf_general_finite_discrete 2841 | pdf_geometric 2842 | pdf_gumbel 2843 | pdf_hypergeometric 2844 | pdf_laplace 2845 | pdf_logistic 2846 | pdf_lognormal 2847 | pdf_negative_binomial 2848 | pdf_noncentral_chi2 2849 | pdf_noncentral_student_t 2850 | pdf_normal 2851 | pdf_pareto 2852 | pdf_poisson 2853 | pdf_rank_sum 2854 | pdf_rayleigh 2855 | pdf_signed_rank 2856 | pdf_student_t 2857 | pdf_weibull 2858 | pearson_skewness 2859 | permanent 2860 | permp 2861 | perms 2862 | perms_lex 2863 | permult 2864 | permut 2865 | permutation 2866 | permutations 2867 | permute 2868 | perm_cycles 2869 | perm_decomp 2870 | perm_inverse 2871 | perm_length 2872 | perm_lex_next 2873 | perm_lex_rank 2874 | perm_lex_unrank 2875 | perm_next 2876 | perm_parity 2877 | perm_rank 2878 | perm_undecomp 2879 | perm_unrank 2880 | petersen_graph 2881 | petrov 2882 | pickapart 2883 | picturep 2884 | picture_equalp 2885 | piechart 2886 | piechart_description 2887 | planar_embedding 2888 | playback 2889 | plog 2890 | plot2d 2891 | plot3d 2892 | plotdf 2893 | ploteq 2894 | plsquares 2895 | pochhammer 2896 | poisdiff 2897 | poisexpt 2898 | poisint 2899 | poismap 2900 | poisplus 2901 | poissimp 2902 | poissubst 2903 | poistimes 2904 | poistrim 2905 | polarform 2906 | polartorect 2907 | polydecomp 2908 | polymod 2909 | polynome2ele 2910 | polynomialp 2911 | polytocompanion 2912 | poly_add 2913 | poly_buchberger 2914 | poly_buchberger_criterion 2915 | poly_colon_ideal 2916 | poly_content 2917 | poly_depends_p 2918 | poly_elimination_ideal 2919 | poly_exact_divide 2920 | poly_expand 2921 | poly_expt 2922 | poly_gcd 2923 | poly_grobner 2924 | poly_grobner_equal 2925 | poly_grobner_member 2926 | poly_grobner_subsetp 2927 | poly_ideal_intersection 2928 | poly_ideal_polysaturation 2929 | poly_ideal_polysaturation1 2930 | poly_ideal_saturation 2931 | poly_ideal_saturation1 2932 | poly_lcm 2933 | poly_minimization 2934 | poly_multiply 2935 | poly_normalize 2936 | poly_normalize_list 2937 | poly_normal_form 2938 | poly_polysaturation_extension 2939 | poly_primitive_part 2940 | poly_pseudo_divide 2941 | poly_reduced_grobner 2942 | poly_reduction 2943 | poly_saturation_extension 2944 | poly_subtract 2945 | poly_s_polynomial 2946 | pop 2947 | postfix 2948 | potential 2949 | powerseries 2950 | powerset 2951 | power_mod 2952 | prefix 2953 | prev_prime 2954 | primep 2955 | primes 2956 | principal_components 2957 | print 2958 | printf 2959 | printfile 2960 | printpois 2961 | printprops 2962 | print_graph 2963 | prodrac 2964 | product 2965 | properties 2966 | psi 2967 | psi 2968 | psubst 2969 | ptriangularize 2970 | pui 2971 | pui2comp 2972 | pui2ele 2973 | pui2polynome 2974 | puireduc 2975 | pui_direct 2976 | push 2977 | pv 2978 | qrange 2979 | qty 2980 | quad_control 2981 | quad_qag 2982 | quad_qagi 2983 | quad_qagp 2984 | quad_qags 2985 | quad_qawc 2986 | quad_qawf 2987 | quad_qawo 2988 | quad_qaws 2989 | quantile 2990 | quantile_bernoulli 2991 | quantile_beta 2992 | quantile_binomial 2993 | quantile_cauchy 2994 | quantile_chi2 2995 | quantile_continuous_uniform 2996 | quantile_discrete_uniform 2997 | quantile_exp 2998 | quantile_f 2999 | quantile_gamma 3000 | quantile_general_finite_discrete 3001 | quantile_geometric 3002 | quantile_gumbel 3003 | quantile_hypergeometric 3004 | quantile_laplace 3005 | quantile_logistic 3006 | quantile_lognormal 3007 | quantile_negative_binomial 3008 | quantile_noncentral_chi2 3009 | quantile_noncentral_student_t 3010 | quantile_normal 3011 | quantile_pareto 3012 | quantile_poisson 3013 | quantile_rayleigh 3014 | quantile_student_t 3015 | quantile_weibull 3016 | quartile_skewness 3017 | quit 3018 | qunit 3019 | quotient 3020 | racah_v 3021 | racah_w 3022 | radcan 3023 | radius 3024 | random 3025 | random_bernoulli 3026 | random_beta 3027 | random_binomial 3028 | random_bipartite_graph 3029 | random_cauchy 3030 | random_chi2 3031 | random_continuous_uniform 3032 | random_digraph 3033 | random_discrete_uniform 3034 | random_exp 3035 | random_f 3036 | random_gamma 3037 | random_general_finite_discrete 3038 | random_geometric 3039 | random_graph 3040 | random_graph1 3041 | random_gumbel 3042 | random_hypergeometric 3043 | random_laplace 3044 | random_logistic 3045 | random_lognormal 3046 | random_negative_binomial 3047 | random_network 3048 | random_noncentral_chi2 3049 | random_noncentral_student_t 3050 | random_normal 3051 | random_pareto 3052 | random_perm 3053 | random_permutation 3054 | random_poisson 3055 | random_rayleigh 3056 | random_regular_graph 3057 | random_student_t 3058 | random_tournament 3059 | random_tree 3060 | random_weibull 3061 | range 3062 | rank 3063 | rank 3064 | rat 3065 | ratcoef 3066 | ratdenom 3067 | ratdiff 3068 | ratdisrep 3069 | ratexpand 3070 | ratexpand 3071 | ratinterpol 3072 | rational 3073 | rationalize 3074 | ratnumer 3075 | ratnump 3076 | ratp 3077 | ratp_coeffs 3078 | ratp_dense_coeffs 3079 | ratp_hipow 3080 | ratp_lopow 3081 | ratsimp 3082 | ratsimp 3083 | ratsimp 3084 | ratsimp 3085 | ratsubst 3086 | ratvars 3087 | ratvars 3088 | ratvars 3089 | ratvars 3090 | ratvars 3091 | ratweight 3092 | read 3093 | readbyte 3094 | readchar 3095 | readline 3096 | readonly 3097 | read_array 3098 | read_binary_array 3099 | read_binary_list 3100 | read_binary_matrix 3101 | read_hash_table 3102 | read_list 3103 | read_matrix 3104 | read_nested_list 3105 | read_xpm 3106 | realpart 3107 | realroots 3108 | real_fft 3109 | real_imagpart_to_conjugate 3110 | rearray 3111 | rectform 3112 | rectform_log_if_constant 3113 | recttopolar 3114 | rediff 3115 | reduce_consts 3116 | reduce_order 3117 | region_boundaries 3118 | region_boundaries_plus 3119 | remainder 3120 | remarray 3121 | rembox 3122 | remcomps 3123 | remcon 3124 | remcoord 3125 | remfun 3126 | remfunction 3127 | remlet 3128 | remove_constvalue 3129 | remove_dimensions 3130 | remove_edge 3131 | declare_fundamental_dimensions 3132 | remove_fundamental_dimensions 3133 | remove_fundamental_units 3134 | remove_plot_option 3135 | remove_vertex 3136 | rempart 3137 | remrule 3138 | remsym 3139 | remvalue 3140 | rename 3141 | rename_file 3142 | reset 3143 | residue 3144 | resolvante 3145 | resolvante_alternee1 3146 | resolvante_bipartite 3147 | resolvante_diedrale 3148 | resolvante_klein 3149 | resolvante_klein3 3150 | resolvante_produit_sym 3151 | resolvante_unitaire 3152 | resolvante_vierer 3153 | rest 3154 | resultant 3155 | return 3156 | reveal 3157 | reverse 3158 | revert 3159 | revert2 3160 | revert 3161 | revert2 3162 | rgb2level 3163 | rhs 3164 | ricci 3165 | riemann 3166 | rinvariant 3167 | risch 3168 | rk 3169 | rmdir 3170 | rncombine 3171 | romberg 3172 | room 3173 | rootscontract 3174 | round 3175 | row 3176 | rowop 3177 | rowswap 3178 | rreduce 3179 | run_testsuite 3180 | save 3181 | saving 3182 | scaled_bessel_i 3183 | scaled_bessel_i0 3184 | scaled_bessel_i1 3185 | scalefactors 3186 | scanmap 3187 | scatterplot 3188 | scatterplot_description 3189 | scene 3190 | schur2comp 3191 | sconcat 3192 | scopy 3193 | scsimp 3194 | scurvature 3195 | sdowncase 3196 | sec 3197 | sech 3198 | second 3199 | sequal 3200 | sequalignore 3201 | setdifference 3202 | setelmx 3203 | setequalp 3204 | setify 3205 | setp 3206 | setunits 3207 | setup_autoload 3208 | set_alt_display 3209 | set_draw_defaults 3210 | set_edge_weight 3211 | set_partitions 3212 | set_plot_option 3213 | set_prompt 3214 | set_random_state 3215 | get_tex_environment 3216 | set_tex_environment 3217 | get_tex_environment_default 3218 | set_tex_environment_default 3219 | set_up_dot_simplifications 3220 | set_vertex_label 3221 | seventh 3222 | sexplode 3223 | sf 3224 | sha1sum 3225 | sha256sum 3226 | shortest_path 3227 | shortest_weighted_path 3228 | show 3229 | showcomps 3230 | showratvars 3231 | sierpinskiale 3232 | sierpinskimap 3233 | sign 3234 | signum 3235 | similaritytransform 3236 | simtran 3237 | simplify_sum 3238 | simplode 3239 | simpmetderiv 3240 | simp_inequality 3241 | similaritytransform 3242 | simtran 3243 | sin 3244 | sinh 3245 | sinsert 3246 | sinvertcase 3247 | sixth 3248 | skewness 3249 | skewness_bernoulli 3250 | skewness_beta 3251 | skewness_binomial 3252 | skewness_chi2 3253 | skewness_continuous_uniform 3254 | skewness_discrete_uniform 3255 | skewness_exp 3256 | skewness_f 3257 | skewness_gamma 3258 | skewness_general_finite_discrete 3259 | skewness_geometric 3260 | skewness_gumbel 3261 | skewness_hypergeometric 3262 | skewness_laplace 3263 | skewness_logistic 3264 | skewness_lognormal 3265 | skewness_negative_binomial 3266 | skewness_noncentral_chi2 3267 | skewness_noncentral_student_t 3268 | skewness_normal 3269 | skewness_pareto 3270 | skewness_poisson 3271 | skewness_rayleigh 3272 | skewness_student_t 3273 | skewness_weibull 3274 | slength 3275 | smake 3276 | small_rhombicosidodecahedron_graph 3277 | small_rhombicuboctahedron_graph 3278 | smax 3279 | smin 3280 | smismatch 3281 | snowmap 3282 | snub_cube_graph 3283 | snub_dodecahedron_graph 3284 | solve 3285 | solve_rec 3286 | solve_rec_rat 3287 | some 3288 | somrac 3289 | sort 3290 | sparse6_decode 3291 | sparse6_encode 3292 | sparse6_export 3293 | sparse6_import 3294 | specint 3295 | spherical_bessel_j 3296 | spherical_bessel_y 3297 | spherical_hankel1 3298 | spherical_hankel2 3299 | spherical_harmonic 3300 | splice 3301 | split 3302 | sposition 3303 | sprint 3304 | sqfr 3305 | sqrt 3306 | sqrtdenest 3307 | sremove 3308 | sremovefirst 3309 | sreverse 3310 | ssearch 3311 | ssort 3312 | sstatus 3313 | ssubst 3314 | ssubstfirst 3315 | staircase 3316 | standardize 3317 | standardize_inverse_trig 3318 | starplot 3319 | starplot_description 3320 | status 3321 | std 3322 | std1 3323 | std_bernoulli 3324 | std_beta 3325 | std_binomial 3326 | std_chi2 3327 | std_continuous_uniform 3328 | std_discrete_uniform 3329 | std_exp 3330 | std_f 3331 | std_gamma 3332 | std_general_finite_discrete 3333 | std_geometric 3334 | std_gumbel 3335 | std_hypergeometric 3336 | std_laplace 3337 | std_logistic 3338 | std_lognormal 3339 | std_negative_binomial 3340 | std_noncentral_chi2 3341 | std_noncentral_student_t 3342 | std_normal 3343 | std_pareto 3344 | std_poisson 3345 | std_rayleigh 3346 | std_student_t 3347 | std_weibull 3348 | stemplot 3349 | stirling 3350 | stirling1 3351 | stirling2 3352 | strim 3353 | striml 3354 | strimr 3355 | string 3356 | stringout 3357 | stringp 3358 | string_to_octets 3359 | strong_components 3360 | struve_h 3361 | struve_l 3362 | sublis 3363 | sublist 3364 | sublist_indices 3365 | submatrix 3366 | subsample 3367 | subset 3368 | subsetp 3369 | subst 3370 | substinpart 3371 | substpart 3372 | substring 3373 | subst_parallel 3374 | subvar 3375 | subvarp 3376 | sum 3377 | sumcontract 3378 | summand_to_rec 3379 | supcase 3380 | supcontext 3381 | symbolp 3382 | symmdifference 3383 | symmetricp 3384 | system 3385 | take_channel 3386 | take_inference 3387 | tan 3388 | tanh 3389 | taylor 3390 | taylorinfo 3391 | taylorp 3392 | taylor_simplifier 3393 | taytorat 3394 | tcl_output 3395 | tcontract 3396 | tellrat 3397 | tellsimp 3398 | tellsimpafter 3399 | tentex 3400 | tenth 3401 | test_mean 3402 | test_means_difference 3403 | test_normality 3404 | test_proportion 3405 | test_proportions_difference 3406 | test_rank_sum 3407 | test_sign 3408 | test_signed_rank 3409 | test_variance 3410 | test_variance_ratio 3411 | tex 3412 | tex1 3413 | texput 3414 | tex_display 3415 | third 3416 | throw 3417 | time 3418 | timedate 3419 | timer 3420 | timer_info 3421 | tldefint 3422 | tlimit 3423 | todd_coxeter 3424 | toeplitz 3425 | tokens 3426 | topological_sort 3427 | totaldisrep 3428 | totalfourier 3429 | totient 3430 | to_lisp 3431 | to_poly 3432 | to_poly_solve 3433 | tpartpol 3434 | trace 3435 | tracematrix 3436 | trace_options 3437 | transform_sample 3438 | translate 3439 | translate_file 3440 | transpose 3441 | treefale 3442 | tree_reduce 3443 | treillis 3444 | treinat 3445 | triangularize 3446 | trigexpand 3447 | trigrat 3448 | trigreduce 3449 | trigsimp 3450 | trunc 3451 | truncate 3452 | truncated_cube_graph 3453 | truncated_dodecahedron_graph 3454 | truncated_icosahedron_graph 3455 | truncated_tetrahedron_graph 3456 | tr_warnings_get 3457 | tutte_graph 3458 | uniteigenvectors 3459 | ueivects 3460 | uforget 3461 | ultraspherical 3462 | underlying_graph 3463 | undiff 3464 | unicode 3465 | unicode_to_utf8 3466 | union 3467 | unique 3468 | uniteigenvectors 3469 | ueivects 3470 | unitp 3471 | units 3472 | unitvector 3473 | uvect 3474 | unit_step 3475 | unknown 3476 | unorder 3477 | unsum 3478 | untellrat 3479 | untimer 3480 | untrace 3481 | uppercasep 3482 | uricci 3483 | uriemann 3484 | utf8_to_unicode 3485 | unitvector 3486 | uvect 3487 | vandermonde_matrix 3488 | var 3489 | var1 3490 | var_bernoulli 3491 | var_beta 3492 | var_binomial 3493 | var_chi2 3494 | var_continuous_uniform 3495 | var_discrete_uniform 3496 | var_exp 3497 | var_f 3498 | var_gamma 3499 | var_general_finite_discrete 3500 | var_geometric 3501 | var_gumbel 3502 | var_hypergeometric 3503 | var_laplace 3504 | var_logistic 3505 | var_lognormal 3506 | var_negative_binomial 3507 | var_noncentral_chi2 3508 | var_noncentral_student_t 3509 | var_normal 3510 | var_pareto 3511 | var_poisson 3512 | var_rayleigh 3513 | var_student_t 3514 | var_weibull 3515 | vectorpotential 3516 | vectorsimp 3517 | verbify 3518 | vers 3519 | vertex_coloring 3520 | vertex_connectivity 3521 | vertex_degree 3522 | vertex_distance 3523 | vertex_eccentricity 3524 | vertex_in_degree 3525 | vertex_out_degree 3526 | vertices 3527 | vertices_to_cycle 3528 | vertices_to_path 3529 | warning 3530 | wc_inputvalueranges 3531 | wc_mintypmax 3532 | wc_mintypmax2tol 3533 | wc_montecarlo 3534 | wc_systematic 3535 | wc_tolappend 3536 | wc_typicalvalues 3537 | weyl 3538 | wheel_graph 3539 | wiener_index 3540 | wigner_3j 3541 | wigner_6j 3542 | wigner_9j 3543 | with_stdout 3544 | writebyte 3545 | writefile 3546 | write_binary_data 3547 | write_data 3548 | wronskian 3549 | xreduce 3550 | xthru 3551 | Zeilberger 3552 | zeroequiv 3553 | zerofor 3554 | zeromatrix 3555 | zeromatrixp 3556 | zeta 3557 | zgeev 3558 | zheev 3559 | dlange 3560 | zlange 3561 | zn_add_table 3562 | zn_carmichael_lambda 3563 | zn_characteristic_factors 3564 | zn_determinant 3565 | zn_factor_generators 3566 | zn_invert_by_lu 3567 | zn_log 3568 | zn_mult_table 3569 | zn_nth_root 3570 | zn_order 3571 | zn_power_table 3572 | zn_primroot 3573 | zn_primroot_p 3574 | -------------------------------------------------------------------------------- /keywords/global: -------------------------------------------------------------------------------- 1 | fundamental_dimensions 2 | boundaries_array 3 | MAX_ORD 4 | simplified_output 5 | linear_solver 6 | warnings 7 | Gosper_in_Zeilberger 8 | trivial_solutions 9 | mod_test 10 | modular_linear_solver 11 | ev_point 12 | mod_big_prime 13 | mod_threshold 14 | macros 15 | nextlayerfactor 16 | facsum_combine 17 | boundaries_array 18 | fundamental_dimensions 19 | ev_point 20 | facsum_combine 21 | fundamental_dimensions 22 | Gosper_in_Zeilberger 23 | linear_solver 24 | macros 25 | MAX_ORD 26 | modular_linear_solver 27 | mod_big_prime 28 | mod_test 29 | mod_threshold 30 | nextlayerfactor 31 | fundamental_dimensions 32 | simplified_output 33 | structures 34 | trivial_solutions 35 | warnings 36 | -------------------------------------------------------------------------------- /keywords/graphic: -------------------------------------------------------------------------------- 1 | adapt_depth 2 | allocation 3 | axis_3d 4 | axis_bottom 5 | axis_left 6 | axis_right 7 | axis_top 8 | background_color 9 | border 10 | capping 11 | cbrange 12 | cbtics 13 | color 14 | colorbox 15 | columns 16 | contour 17 | contour_levels 18 | data_file_name 19 | delay 20 | dimensions 21 | draw_realpart 22 | enhanced3d 23 | error_type 24 | file_name 25 | fill_color 26 | fill_density 27 | filled_func 28 | font 29 | font_size 30 | gnuplot_file_name 31 | grid 32 | head_angle 33 | head_both 34 | head_length 35 | head_type 36 | interpolate_color 37 | ip_grid 38 | ip_grid_in 39 | key 40 | key_pos 41 | label_alignment 42 | label_orientation 43 | line_type 44 | line_width 45 | logcb 46 | logx 47 | logx_secondary 48 | logy 49 | logy_secondary 50 | logz 51 | nticks 52 | palette 53 | point_size 54 | point_type 55 | points_joined 56 | proportional_axes 57 | surface_hide 58 | terminal 59 | title 60 | transform 61 | transparent 62 | unit_vectors 63 | user_preamble 64 | view 65 | wired_surface 66 | x_voxel 67 | xaxis 68 | xaxis_color 69 | xaxis_secondary 70 | xaxis_type 71 | xaxis_width 72 | xlabel 73 | xlabel_secondary 74 | xrange 75 | xrange_secondary 76 | xtics 77 | xtics_axis 78 | xtics_rotate 79 | xtics_rotate_secondary 80 | xtics_secondary 81 | xtics_secondary_axis 82 | xu_grid 83 | xy_file 84 | xyplane 85 | y_voxel 86 | yaxis 87 | yaxis_color 88 | yaxis_secondary 89 | yaxis_type 90 | yaxis_width 91 | ylabel 92 | ylabel_secondary 93 | yrange 94 | yrange_secondary 95 | ytics 96 | ytics_axis 97 | ytics_rotate 98 | ytics_rotate_secondary 99 | ytics_secondary 100 | ytics_secondary_axis 101 | yv_grid 102 | z_voxel 103 | zaxis 104 | zaxis_color 105 | zaxis_type 106 | zaxis_width 107 | zlabel 108 | zlabel_rotate 109 | zrange 110 | ztics 111 | ztics_axis 112 | ztics_rotate 113 | bars 114 | cylindrical 115 | elevation_grid 116 | ellipse 117 | errors 118 | explicit 119 | image 120 | implicit 121 | label 122 | mesh 123 | parametric 124 | parametric_surface 125 | points 126 | polar 127 | polygon 128 | quadrilateral 129 | rectangle 130 | region 131 | spherical 132 | triangle 133 | tube 134 | vector 135 | geomap 136 | adapt_depth 137 | allocation 138 | axis_3d 139 | axis_bottom 140 | axis_left 141 | axis_right 142 | axis_top 143 | background_color 144 | bars 145 | border 146 | capping 147 | cbrange 148 | cbtics 149 | color 150 | colorbox 151 | columns 152 | contour 153 | contour_levels 154 | cylindrical 155 | data_file_name 156 | delay 157 | dimensions 158 | draw_realpart 159 | elevation_grid 160 | ellipse 161 | enhanced3d 162 | errors 163 | error_type 164 | explicit 165 | file_name 166 | filled_func 167 | fill_color 168 | fill_density 169 | font 170 | font_size 171 | geomap 172 | gnuplot_file_name 173 | grid 174 | head_angle 175 | head_both 176 | head_length 177 | head_type 178 | image 179 | implicit 180 | interpolate_color 181 | ip_grid 182 | ip_grid_in 183 | key 184 | key_pos 185 | label 186 | label_alignment 187 | label_orientation 188 | line_type 189 | line_width 190 | logcb 191 | logx 192 | logx_secondary 193 | logy 194 | logy_secondary 195 | logz 196 | mesh 197 | nticks 198 | palette 199 | parametric 200 | parametric_surface 201 | points 202 | points_joined 203 | point_size 204 | point_type 205 | polar 206 | polygon 207 | proportional_axes 208 | quadrilateral 209 | rectangle 210 | region 211 | spherical 212 | surface_hide 213 | terminal 214 | title 215 | transform 216 | transparent 217 | triangle 218 | tube 219 | unit_vectors 220 | user_preamble 221 | vector 222 | view 223 | wired_surface 224 | xaxis 225 | xaxis_color 226 | xaxis_secondary 227 | xaxis_type 228 | xaxis_width 229 | xlabel 230 | xlabel_secondary 231 | xrange 232 | xrange_secondary 233 | xtics 234 | xtics_axis 235 | xtics_rotate 236 | xtics_rotate_secondary 237 | xtics_secondary 238 | xtics_secondary_axis 239 | xu_grid 240 | xyplane 241 | xy_file 242 | x_voxel 243 | yaxis 244 | yaxis_color 245 | yaxis_secondary 246 | yaxis_type 247 | yaxis_width 248 | ylabel 249 | ylabel_secondary 250 | yrange 251 | yrange_secondary 252 | ytics 253 | ytics_axis 254 | ytics_rotate 255 | ytics_rotate_secondary 256 | ytics_secondary 257 | ytics_secondary_axis 258 | yv_grid 259 | y_voxel 260 | zaxis 261 | zaxis_color 262 | zaxis_type 263 | zaxis_width 264 | zlabel 265 | zlabel_rotate 266 | zrange 267 | ztics 268 | ztics_axis 269 | ztics_rotate 270 | z_voxel 271 | show_id 272 | show_label 273 | label_alignment 274 | show_weight 275 | vertex_type 276 | vertex_size 277 | vertex_color 278 | show_vertices 279 | show_vertex_type 280 | show_vertex_size 281 | show_vertex_color 282 | vertex_partition 283 | vertex_coloring 284 | edge_color 285 | edge_width 286 | edge_type 287 | show_edges 288 | show_edge_color 289 | show_edge_width 290 | show_edge_type 291 | edge_partition 292 | edge_coloring 293 | redraw 294 | head_angle 295 | head_length 296 | spring_embedding_depth 297 | terminal 298 | file_name 299 | program 300 | fixed_vertices 301 | edge_color 302 | edge_coloring 303 | edge_partition 304 | edge_type 305 | edge_width 306 | file_name 307 | fixed_vertices 308 | head_angle 309 | head_length 310 | label_alignment 311 | program 312 | redraw 313 | show_edges 314 | show_edge_color 315 | show_edge_type 316 | show_edge_width 317 | show_id 318 | show_label 319 | show_vertex_color 320 | show_vertex_size 321 | show_vertex_type 322 | show_vertices 323 | show_weight 324 | spring_embedding_depth 325 | terminal 326 | vertex_color 327 | vertex_coloring 328 | vertex_partition 329 | vertex_size 330 | vertex_type 331 | -------------------------------------------------------------------------------- /keywords/object: -------------------------------------------------------------------------------- 1 | animation 2 | capping 3 | center 4 | color 5 | endphi 6 | endtheta 7 | height 8 | linewidth 9 | opacity 10 | orientation 11 | origin 12 | phiresolution 13 | points 14 | pointsize 15 | position 16 | radius 17 | resolution 18 | scale 19 | startphi 20 | starttheta 21 | surface 22 | thetaresolution 23 | track 24 | xlength 25 | ylength 26 | zlength 27 | wireframe 28 | animation 29 | capping 30 | center 31 | color 32 | endphi 33 | endtheta 34 | height 35 | linewidth 36 | opacity 37 | orientation 38 | origin 39 | phiresolution 40 | points 41 | pointsize 42 | position 43 | radius 44 | resolution 45 | scale 46 | startphi 47 | starttheta 48 | surface 49 | thetaresolution 50 | track 51 | wireframe 52 | xlength 53 | ylength 54 | zlength 55 | -------------------------------------------------------------------------------- /keywords/operators: -------------------------------------------------------------------------------- 1 | + 2 | - 3 | * 4 | / 5 | ^ 6 | ** 7 | ^^ 8 | . 9 | : 10 | :: 11 | ::= 12 | := 13 | !! 14 | ! 15 | ' 16 | '' 17 | ` 18 | `` 19 | ~ 20 | | 21 | %and 22 | %if 23 | %or 24 | %union 25 | %union 26 | and 27 | not 28 | or 29 | # 30 | = 31 | < 32 | <= 33 | >= 34 | > 35 | ! 36 | !! 37 | # 38 | %and 39 | %if 40 | %or 41 | %union 42 | %union 43 | %union 44 | %union 45 | ' 46 | '' 47 | - 48 | * 49 | / 50 | ^ 51 | ** 52 | + 53 | - 54 | * 55 | / 56 | ^ 57 | + 58 | - 59 | * 60 | / 61 | ^ 62 | . 63 | * 64 | / 65 | ^ 66 | : 67 | :: 68 | ::= 69 | := 70 | < 71 | <= 72 | >= 73 | > 74 | < 75 | <= 76 | >= 77 | > 78 | = 79 | >= 80 | > 81 | <= 82 | >= 83 | > 84 | @ 85 | + 86 | - 87 | * 88 | / 89 | ^ 90 | and 91 | : 92 | :: 93 | %if 94 | | 95 | + 96 | - 97 | * 98 | / 99 | ^ 100 | !! 101 | = 102 | = 103 | + 104 | - 105 | * 106 | / 107 | ^ 108 | ! 109 | := 110 | < 111 | <= 112 | >= 113 | > 114 | < 115 | <= 116 | >= 117 | > 118 | < 119 | <= 120 | >= 121 | > 122 | < 123 | <= 124 | >= 125 | > 126 | [ 127 | ] 128 | and 129 | %and 130 | or 131 | %or 132 | not 133 | ::= 134 | + 135 | - 136 | * 137 | / 138 | ^ 139 | ^^ 140 | . 141 | not 142 | # 143 | or 144 | ' 145 | '' 146 | [ 147 | ] 148 | + 149 | - 150 | * 151 | / 152 | ^ 153 | ~ 154 | [ 155 | ] 156 | [ 157 | ] 158 | / 159 | ^ 160 | ^^ 161 | ` 162 | `` 163 | | 164 | ~ 165 | -------------------------------------------------------------------------------- /keywords/options: -------------------------------------------------------------------------------- 1 | besselexpand 2 | factlim 3 | factorial_expand 4 | sumsplitfact 5 | julia_parameter 6 | erf_representation 7 | hypergeometric_representation 8 | expintrep 9 | expintexpand 10 | all_dotsimp_denoms 11 | testsuite_files 12 | share_testsuite_files 13 | inchar 14 | linechar 15 | nolabels 16 | optionset 17 | outchar 18 | prompt 19 | showtime 20 | dim 21 | diagmetric 22 | ctrgsimp 23 | cframe_flag 24 | ctorsion_flag 25 | cnonmet_flag 26 | ctayswitch 27 | ctayvar 28 | ctaypov 29 | ctaypt 30 | ratchristof 31 | rateinstein 32 | ratriemann 33 | ratweyl 34 | ct_coords 35 | debugmode 36 | refcheck 37 | setcheck 38 | setcheckbreak 39 | timer_devalue 40 | derivabbrev 41 | derivsubst 42 | %edispflag 43 | absboxchar 44 | display2d 45 | display_format_internal 46 | exptdispflag 47 | grind 48 | ibase 49 | leftjust 50 | linel 51 | lispdisp 52 | negsumdispflag 53 | obase 54 | pfeformat 55 | powerdisp 56 | sqrtdispflag 57 | stardisp 58 | ttyoff 59 | engineering_format_floats 60 | engineering_format_min 61 | engineering_format_max 62 | algepsilon 63 | algexact 64 | backsubst 65 | breakup 66 | dispflag 67 | globalsolve 68 | ieqnprint 69 | linsolvewarn 70 | linsolve_params 71 | polyfactor 72 | programmode 73 | realonly 74 | rootsconmode 75 | rootsepsilon 76 | solvedecomposes 77 | solveexplicit 78 | solvefactors 79 | solvenullwarn 80 | solveradcan 81 | solvetrigwarn 82 | infeval 83 | boxchar 84 | exptisolate 85 | exptsubst 86 | inflag 87 | isolate_wrt_times 88 | listconstvars 89 | listdummyvars 90 | noundisp 91 | opsubst 92 | optimprefix 93 | partswitch 94 | sublis_apply_lambda 95 | subnumsimp 96 | assumescalar 97 | assume_pos 98 | assume_pos_pred 99 | context 100 | contexts 101 | file_output_append 102 | file_search_maxima 103 | file_search_lisp 104 | file_search_demo 105 | file_search_usage 106 | file_search_tests 107 | file_type_lisp 108 | file_type_maxima 109 | loadprint 110 | fortindent 111 | fortspaces 112 | sinnpiflag 113 | cosnpiflag 114 | macroexpansion 115 | mode_checkp 116 | mode_check_errorp 117 | mode_check_warnp 118 | savedef 119 | transcompile 120 | transrun 121 | tr_array_as_ref 122 | tr_bound_function_applyp 123 | tr_file_tty_messagesp 124 | tr_float_can_branch_complex 125 | tr_function_call_default 126 | tr_numer 127 | tr_optimize_max_loop 128 | tr_semicompile 129 | tr_warn_bad_function_calls 130 | tr_warn_fexpr 131 | tr_warn_meval 132 | tr_warn_mode 133 | tr_warn_undeclared 134 | tr_warn_undefined_variable 135 | GGFINFINITY 136 | GGFCFMAX 137 | draw_graph_program 138 | poly_monomial_order 139 | poly_coefficient_ring 140 | poly_primary_elimination_order 141 | poly_secondary_elimination_order 142 | poly_elimination_order 143 | poly_return_term_list 144 | poly_grobner_debug 145 | poly_grobner_algorithm 146 | poly_top_reduction_only 147 | manual_demo 148 | erfflag 149 | intanalysis 150 | integrate_use_rootsof 151 | flipflag 152 | idummyx 153 | icounter 154 | allsym 155 | iframe_bracket_form 156 | igeowedge_flag 157 | lhospitallim 158 | limsubst 159 | tlimswitch 160 | detout 161 | doallmxops 162 | domxexpt 163 | domxmxops 164 | domxnctimes 165 | dontfactor 166 | doscmxops 167 | doscmxplus 168 | dot0nscsimp 169 | dot0simp 170 | dot1simp 171 | dotassoc 172 | dotconstrules 173 | dotdistrib 174 | dotexptsimp 175 | dotident 176 | dotscrules 177 | lmxchar 178 | matrix_element_add 179 | matrix_element_mult 180 | matrix_element_transpose 181 | ratmx 182 | rmxchar 183 | scalarmatrixp 184 | sparse 185 | vect_cross 186 | genindex 187 | gensumnum 188 | packagefile 189 | newtonepsilon 190 | newtonmaxiter 191 | cflength 192 | factors_only 193 | primep_number_of_tests 194 | zerobern 195 | zeta%pi 196 | zn_primroot_limit 197 | zn_primroot_pretest 198 | zn_primroot_verbose 199 | poislim 200 | algebraic 201 | berlefact 202 | facexpand 203 | factor_max_degree 204 | factor_max_degree_print_warning 205 | factorflag 206 | intfaclim 207 | keepfloat 208 | modulus 209 | ratalgdenom 210 | ratdenomdivide 211 | ratexpand 212 | ratfac 213 | ratprint 214 | ratsimpexpons 215 | radsubstflag 216 | ratvarswitch 217 | ratwtlvl 218 | resultant 219 | savefactors 220 | error_size 221 | error_syms 222 | errormsg 223 | maperror 224 | mapprint 225 | prederror 226 | rombergabs 227 | rombergit 228 | rombergmin 229 | rombergtol 230 | current_let_rule_package 231 | default_let_rule_package 232 | letrat 233 | let_rule_packages 234 | maxapplydepth 235 | maxapplyheight 236 | cauchysum 237 | maxtayorder 238 | niceindicespref 239 | psexpand 240 | taylordepth 241 | taylor_logexpand 242 | taylor_order_coefficients 243 | taylor_truncate_polynomials 244 | verbose 245 | epsilon_lp 246 | nonegative_lp 247 | scale_lp 248 | demoivre 249 | distribute_over 250 | domain 251 | expandwrt_denom 252 | expon 253 | exponentialize 254 | expop 255 | maxnegex 256 | maxposex 257 | negdistrib 258 | radexpand 259 | simp 260 | simplify_products 261 | product_use_gamma 262 | stats_numer 263 | simpproduct 264 | simpsum 265 | sumexpand 266 | usersetunits 267 | find_root_error 268 | find_root_abs 269 | find_root_rel 270 | gamma_expand 271 | gammalim 272 | beta_expand 273 | beta_args_sum_to_integer 274 | maxpsiposint 275 | maxpsinegint 276 | maxpsifracnum 277 | maxpsifracdenom 278 | f90_output_line_length_max 279 | %e_to_numlog 280 | %emode 281 | %enumer 282 | logabs 283 | logarc 284 | logconcoeffp 285 | logexpand 286 | lognegint 287 | logsimp 288 | %edispflag 289 | %emode 290 | %enumer 291 | %e_to_numlog 292 | %iargs 293 | %piargs 294 | absboxchar 295 | algebraic 296 | algepsilon 297 | algexact 298 | allsym 299 | all_dotsimp_denoms 300 | assumescalar 301 | assume_pos 302 | assume_pos_pred 303 | backsubst 304 | berlefact 305 | besselexpand 306 | beta_args_sum_to_integer 307 | beta_expand 308 | bftorat 309 | bftrunc 310 | find_root_error 311 | find_root_abs 312 | find_root_rel 313 | find_root_error 314 | find_root_abs 315 | find_root_rel 316 | boxchar 317 | breakup 318 | cauchysum 319 | cflength 320 | cframe_flag 321 | cnonmet_flag 322 | context 323 | contexts 324 | cosnpiflag 325 | ctaypov 326 | ctaypt 327 | ctayswitch 328 | ctayvar 329 | ctorsion_flag 330 | ctrgsimp 331 | ct_coords 332 | current_let_rule_package 333 | debugmode 334 | default_let_rule_package 335 | demoivre 336 | demoivre 337 | derivabbrev 338 | derivsubst 339 | detout 340 | diagmetric 341 | dim 342 | dispflag 343 | display2d 344 | display_format_internal 345 | distribute_over 346 | doallmxops 347 | domain 348 | domxexpt 349 | domxmxops 350 | domxnctimes 351 | dontfactor 352 | doscmxops 353 | doscmxplus 354 | dot0nscsimp 355 | dot0simp 356 | dot1simp 357 | dotassoc 358 | dotconstrules 359 | dotdistrib 360 | dotexptsimp 361 | dotident 362 | dotscrules 363 | draw_graph_program 364 | engineering_format_floats 365 | engineering_format_max 366 | engineering_format_min 367 | epsilon_lp 368 | erfflag 369 | erf_representation 370 | errormsg 371 | error_size 372 | error_syms 373 | expandwrt_denom 374 | expintexpand 375 | expintrep 376 | expon 377 | exponentialize 378 | exponentialize 379 | expop 380 | exptdispflag 381 | exptisolate 382 | exptsubst 383 | f90_output_line_length_max 384 | facexpand 385 | factlim 386 | factorflag 387 | factorial_expand 388 | factors_only 389 | factor_max_degree 390 | factor_max_degree_print_warning 391 | file_output_append 392 | file_search_lisp 393 | file_search_demo 394 | file_search_usage 395 | file_search_tests 396 | file_search_maxima 397 | file_search_lisp 398 | file_search_demo 399 | file_search_usage 400 | file_search_tests 401 | file_search_maxima 402 | file_search_lisp 403 | file_search_demo 404 | file_search_usage 405 | file_search_tests 406 | file_search_usage 407 | file_search_tests 408 | file_search_demo 409 | file_search_usage 410 | file_search_tests 411 | file_type_lisp 412 | file_type_maxima 413 | find_root_error 414 | find_root_abs 415 | find_root_rel 416 | find_root_error 417 | find_root_abs 418 | find_root_rel 419 | find_root_error 420 | find_root_abs 421 | find_root_rel 422 | find_root_error 423 | find_root_abs 424 | find_root_rel 425 | find_root_abs 426 | find_root_rel 427 | flipflag 428 | float2bf 429 | fortindent 430 | fortspaces 431 | fpprec 432 | fpprintprec 433 | gammalim 434 | gamma_expand 435 | genindex 436 | gensumnum 437 | GGFCFMAX 438 | GGFINFINITY 439 | globalsolve 440 | grind 441 | halfangles 442 | hypergeometric_representation 443 | ibase 444 | icounter 445 | idummyx 446 | ieqnprint 447 | iframe_bracket_form 448 | igeowedge_flag 449 | inchar 450 | infeval 451 | inflag 452 | intanalysis 453 | integrate_use_rootsof 454 | intfaclim 455 | isolate_wrt_times 456 | julia_parameter 457 | keepfloat 458 | leftjust 459 | letrat 460 | let_rule_packages 461 | lhospitallim 462 | limsubst 463 | linechar 464 | linel 465 | linsolvewarn 466 | linsolve_params 467 | lispdisp 468 | listarith 469 | listconstvars 470 | listdummyvars 471 | lmxchar 472 | loadprint 473 | logabs 474 | logarc 475 | logarc 476 | logconcoeffp 477 | logexpand 478 | lognegint 479 | logsimp 480 | m1pbranch 481 | macroexpansion 482 | manual_demo 483 | maperror 484 | mapprint 485 | matrix_element_add 486 | matrix_element_mult 487 | matrix_element_transpose 488 | maxapplydepth 489 | maxapplyheight 490 | maxnegex 491 | maxposex 492 | maxpsifracdenom 493 | maxpsifracnum 494 | maxpsinegint 495 | maxpsiposint 496 | maxtayorder 497 | mode_checkp 498 | mode_check_errorp 499 | mode_check_warnp 500 | modulus 501 | negdistrib 502 | negsumdispflag 503 | newtonepsilon 504 | newtonmaxiter 505 | niceindicespref 506 | nolabels 507 | nonegative_lp 508 | noundisp 509 | numer 510 | numer_pbranch 511 | obase 512 | opsubst 513 | optimprefix 514 | optionset 515 | outchar 516 | packagefile 517 | partswitch 518 | pfeformat 519 | poislim 520 | polyfactor 521 | poly_coefficient_ring 522 | poly_elimination_order 523 | poly_grobner_algorithm 524 | poly_grobner_debug 525 | poly_monomial_order 526 | poly_primary_elimination_order 527 | poly_return_term_list 528 | poly_secondary_elimination_order 529 | poly_top_reduction_only 530 | powerdisp 531 | prederror 532 | primep_number_of_tests 533 | product_use_gamma 534 | programmode 535 | prompt 536 | psexpand 537 | radexpand 538 | radsubstflag 539 | ratalgdenom 540 | ratchristof 541 | ratdenomdivide 542 | rateinstein 543 | ratepsilon 544 | ratexpand 545 | ratexpand 546 | ratfac 547 | ratmx 548 | ratprint 549 | ratriemann 550 | ratsimpexpons 551 | ratvarswitch 552 | ratweyl 553 | ratwtlvl 554 | realonly 555 | refcheck 556 | resultant 557 | rmxchar 558 | rombergabs 559 | rombergit 560 | rombergmin 561 | rombergtol 562 | rootsconmode 563 | rootsepsilon 564 | savedef 565 | savefactors 566 | scalarmatrixp 567 | scale_lp 568 | setcheck 569 | setcheckbreak 570 | share_testsuite_files 571 | showtime 572 | simp 573 | simplify_products 574 | simpproduct 575 | simpsum 576 | sinnpiflag 577 | solvedecomposes 578 | solveexplicit 579 | solvefactors 580 | solvenullwarn 581 | solveradcan 582 | solvetrigwarn 583 | sparse 584 | sqrtdispflag 585 | stardisp 586 | stats_numer 587 | stringdisp 588 | sublis_apply_lambda 589 | subnumsimp 590 | sumexpand 591 | sumsplitfact 592 | taylordepth 593 | taylor_logexpand 594 | taylor_order_coefficients 595 | taylor_truncate_polynomials 596 | testsuite_files 597 | timer_devalue 598 | tlimswitch 599 | transcompile 600 | translate_fast_arrays 601 | transrun 602 | trigexpandplus 603 | trigexpandtimes 604 | triginverses 605 | trigsign 606 | tr_array_as_ref 607 | tr_bound_function_applyp 608 | tr_file_tty_messagesp 609 | tr_float_can_branch_complex 610 | tr_function_call_default 611 | tr_numer 612 | tr_optimize_max_loop 613 | tr_semicompile 614 | tr_warn_bad_function_calls 615 | tr_warn_fexpr 616 | tr_warn_meval 617 | tr_warn_mode 618 | tr_warn_undeclared 619 | tr_warn_undefined_variable 620 | ttyoff 621 | usersetunits 622 | use_fast_arrays 623 | vect_cross 624 | verbose 625 | zerobern 626 | zeta%pi 627 | zn_primroot_limit 628 | zn_primroot_pretest 629 | zn_primroot_verbose 630 | -------------------------------------------------------------------------------- /keywords/plot: -------------------------------------------------------------------------------- 1 | gnuplot_term 2 | gnuplot_out_file 3 | gnuplot_pm3d 4 | gnuplot_preamble 5 | gnuplot_postamble 6 | gnuplot_default_term_command 7 | gnuplot_dumb_term_command 8 | gnuplot_pdf_term_command 9 | gnuplot_png_term_command 10 | gnuplot_ps_term_command 11 | gnuplot_svg_term_command 12 | gnuplot_curve_titles 13 | gnuplot_curve_styles 14 | adapt_depth 15 | axes 16 | azimuth 17 | box 18 | color 19 | color_bar 20 | color_bar_tics 21 | elevation 22 | grid 23 | grid2d 24 | iterations 25 | label 26 | legend 27 | logx 28 | logy 29 | mesh_lines_color 30 | nticks 31 | palette 32 | plot_format 33 | plot_realpart 34 | point_type 35 | pdf_file 36 | png_file 37 | ps_file 38 | run_viewer 39 | same_xy 40 | same_xyz 41 | style 42 | svg_file 43 | t 44 | title 45 | transform_xy 46 | x 47 | xlabel 48 | xtics 49 | xy_scale 50 | y 51 | ylabel 52 | ytics 53 | yx_ratio 54 | z 55 | zlabel 56 | zmin 57 | adapt_depth 58 | axes 59 | azimuth 60 | box 61 | color 62 | color_bar 63 | color_bar_tics 64 | elevation 65 | gnuplot_curve_styles 66 | gnuplot_curve_titles 67 | gnuplot_default_term_command 68 | gnuplot_dumb_term_command 69 | gnuplot_out_file 70 | gnuplot_pdf_term_command 71 | gnuplot_pm3d 72 | gnuplot_png_term_command 73 | gnuplot_postamble 74 | gnuplot_preamble 75 | gnuplot_ps_term_command 76 | gnuplot_svg_term_command 77 | gnuplot_term 78 | grid 79 | grid2d 80 | iterations 81 | label 82 | legend 83 | logx 84 | logy 85 | mesh_lines_color 86 | nticks 87 | palette 88 | pdf_file 89 | plot_format 90 | plot_realpart 91 | png_file 92 | point_type 93 | ps_file 94 | run_viewer 95 | same_xy 96 | same_xyz 97 | style 98 | svg_file 99 | t 100 | title 101 | transform_xy 102 | x 103 | xlabel 104 | xtics 105 | xy_scale 106 | y 107 | ylabel 108 | ytics 109 | yx_ratio 110 | z 111 | zlabel 112 | zmin 113 | -------------------------------------------------------------------------------- /keywords/properties: -------------------------------------------------------------------------------- 1 | atomgrad 2 | evflag 3 | evfun 4 | mainvar 5 | noun 6 | alphabetic 7 | bindtest 8 | constant 9 | decreasing 10 | increasing 11 | even 12 | odd 13 | feature 14 | integer 15 | noninteger 16 | integervalued 17 | nonarray 18 | nonscalar 19 | posfun 20 | rational 21 | irrational 22 | real 23 | imaginary 24 | complex 25 | scalar 26 | additive 27 | antisymmetric 28 | commutative 29 | evenfun 30 | oddfun 31 | lassociative 32 | linear 33 | multiplicative 34 | nary 35 | outative 36 | rassociative 37 | symmetric 38 | additive 39 | alphabetic 40 | antisymmetric 41 | atomgrad 42 | bindtest 43 | commutative 44 | constant 45 | decreasing 46 | increasing 47 | even 48 | odd 49 | evenfun 50 | oddfun 51 | evflag 52 | evfun 53 | feature 54 | complex 55 | decreasing 56 | increasing 57 | integer 58 | noninteger 59 | integervalued 60 | lassociative 61 | linear 62 | mainvar 63 | multiplicative 64 | nary 65 | nonarray 66 | integer 67 | noninteger 68 | nonscalar 69 | noun 70 | even 71 | odd 72 | evenfun 73 | oddfun 74 | outative 75 | posfun 76 | rassociative 77 | irrational 78 | imaginary 79 | complex 80 | symmetric 81 | -------------------------------------------------------------------------------- /keywords/scene: -------------------------------------------------------------------------------- 1 | gr2d 2 | gr3d 3 | azimuth 4 | background 5 | elevation 6 | height 7 | restart 8 | tstep 9 | width 10 | windowname 11 | windowtitle 12 | cone 13 | cube 14 | cylinder 15 | sphere 16 | azimuth 17 | background 18 | cone 19 | cube 20 | cylinder 21 | elevation 22 | gr2d 23 | gr3d 24 | height 25 | restart 26 | sphere 27 | tstep 28 | width 29 | windowname 30 | windowtitle 31 | -------------------------------------------------------------------------------- /keywords/special: -------------------------------------------------------------------------------- 1 | ? 2 | ?? 3 | diff 4 | expt 5 | ncexpt 6 | eval 7 | noeval 8 | nouns 9 | pred 10 | poisson 11 | do 12 | while 13 | unless 14 | for 15 | from 16 | thru 17 | step 18 | next 19 | in 20 | if 21 | ? 22 | ?? 23 | diff 24 | do 25 | while 26 | unless 27 | for 28 | from 29 | thru 30 | step 31 | next 32 | in 33 | eval 34 | expt 35 | ncexpt 36 | ? 37 | ?? 38 | unless 39 | for 40 | from 41 | thru 42 | step 43 | next 44 | in 45 | for 46 | from 47 | thru 48 | step 49 | next 50 | in 51 | if 52 | next 53 | in 54 | expt 55 | ncexpt 56 | step 57 | next 58 | in 59 | noeval 60 | nouns 61 | poisson 62 | pred 63 | thru 64 | step 65 | next 66 | in 67 | from 68 | thru 69 | step 70 | next 71 | in 72 | while 73 | unless 74 | for 75 | from 76 | thru 77 | step 78 | next 79 | in 80 | do 81 | while 82 | unless 83 | for 84 | from 85 | thru 86 | step 87 | next 88 | in 89 | -------------------------------------------------------------------------------- /keywords/system_variables: -------------------------------------------------------------------------------- 1 | __ 2 | _ 3 | % 4 | %% 5 | infolists 6 | labels 7 | linenum 8 | myoptions 9 | values 10 | method 11 | gdet 12 | tensorkill 13 | setval 14 | dependencies 15 | gradefs 16 | %rnum 17 | %rnum_list 18 | multiplicities 19 | aliases 20 | piece 21 | activecontexts 22 | load_pathname 23 | functions 24 | tr_state_vars 25 | integration_constant 26 | integration_constant_counter 27 | imetric 28 | askexp 29 | geomview_command 30 | gnuplot_command 31 | gnuplot_file_args 32 | gnuplot_view_args 33 | polar_to_xy 34 | plot_options 35 | spherical_to_xyz 36 | ratvars 37 | ratweights 38 | error 39 | props 40 | maxima_tempdir 41 | maxima_userdir 42 | opproperties 43 | % 44 | %% 45 | %rnum 46 | %rnum_list 47 | activecontexts 48 | aliases 49 | arrays 50 | askexp 51 | __ 52 | dependencies 53 | dependencies 54 | error 55 | error 56 | functions 57 | gdet 58 | geomview_command 59 | gnuplot_command 60 | gnuplot_file_args 61 | gnuplot_view_args 62 | gradefs 63 | imetric 64 | imetric 65 | infolists 66 | integration_constant 67 | integration_constant_counter 68 | labels 69 | linenum 70 | load_pathname 71 | maxima_tempdir 72 | maxima_userdir 73 | method 74 | multiplicities 75 | myoptions 76 | opproperties 77 | piece 78 | plot_options 79 | polar_to_xy 80 | _ 81 | % 82 | %% 83 | props 84 | ratvars 85 | ratvars 86 | ratvars 87 | ratweights 88 | setval 89 | spherical_to_xyz 90 | tensorkill 91 | tr_state_vars 92 | values 93 | _ 94 | __ 95 | -------------------------------------------------------------------------------- /logo/maxima_emacs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emacsmirror/maxima/2de798f6644753772553cd0420d3c419ed50dd0b/logo/maxima_emacs.png -------------------------------------------------------------------------------- /maxima-font-lock.el: -------------------------------------------------------------------------------- 1 | ;;; maxima-font-lock.el --- Syntax highlighting for maxima.el -*- lexical-binding: t; -*- 2 | 3 | ;; Copyright: (C) 2001 Jay Belanger 4 | ;; Copyright: (C) 2020 Fermin Munoz 5 | 6 | ;; Author: William F. Schelter 7 | ;; Jay Belanger 8 | ;; Fermin Munoz 9 | ;; Maintainer: Fermin Munoz 10 | ;; Revision: 1.16 11 | ;; Created: 30 April 2020 12 | ;; Version: 0.7.6 13 | ;; Keywords: maxima, tools, math 14 | ;; URL: https://gitlab.com/sasanidas/maxima 15 | ;; Package-Requires: ((emacs "25.1")(s "1.11.0")(test-simple "1.3.0")) 16 | ;; License: GPL-3.0-or-later 17 | 18 | ;; This program is free software; you can redistribute it and/or modify 19 | ;; it under the terms of the GNU General Public License as published by 20 | ;; the Free Software Foundation, either version 3 of the License, or 21 | ;; (at your option) any later version. 22 | 23 | ;; This program is distributed in the hope that it will be useful, 24 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 25 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 26 | ;; GNU General Public License for more details. 27 | 28 | ;; You should have received a copy of the GNU General Public License 29 | ;; along with this program. If not, see . 30 | 31 | ;;; Commentary: 32 | 33 | ;;; This file is used for font-lock for maxima.el 34 | ;; 35 | ;; The keywords are divided into the following groups, following the 36 | ;; Maxima info files(NOT ALL OF THEN ALL IMPLEMENTED): 37 | ;; Functions (font-lock-builtin-face or font-lock-keyword-face) 38 | ;; Variables (font-lock-keyword-face) 39 | ;; Constants (font-lock-constant-face) 40 | ;; Keywords (font-lock-keyword-face) 41 | ;; Declarations (font-lock-keyword-face) 42 | ;; Operators (font-lock-keyword-face) 43 | ;; Property (font-lock-keyword-face) 44 | ;; Macros (font-lock-keyword-face) 45 | ;; Special operators (font-lock-keyword-face) 46 | ;; Special symbols (font-lock-keyword-face) 47 | 48 | ;;; Code: 49 | 50 | (require 'font-lock) 51 | (require 's) 52 | 53 | (defvar maxima-font-lock-keywords-directory 54 | (format "%skeywords" (file-name-directory load-file-name)) 55 | "Keywords definition directory.") 56 | 57 | (defvar maxima-font-lock-keywords-categories 58 | '("functions" 59 | "constants" 60 | "global" 61 | "graphic" 62 | "object" 63 | "operators" 64 | "options" 65 | "plot" 66 | "properties" 67 | "scene" 68 | "special" 69 | "system_variables") 70 | "Keywords categories. 71 | Base on the types assigned by the maxima info manual.") 72 | 73 | (defvar maxima-font-lock-functions 74 | (with-temp-buffer 75 | (insert-file-contents (format "%s/functions" maxima-font-lock-keywords-directory)) 76 | (split-string (buffer-string) "\n" t))) 77 | 78 | 79 | (defvar maxima-font-lock-match-functions 80 | (concat "\\<\\(" 81 | (regexp-opt maxima-font-lock-functions) 82 | "\\)\\>" ) 83 | "Regexp to match the maxima functions.") 84 | 85 | (defvar maxima-font-lock-constants 86 | (with-temp-buffer 87 | (insert-file-contents (format "%s/constants" maxima-font-lock-keywords-directory)) 88 | (split-string (buffer-string) "\n" t))) 89 | 90 | (defvar maxima-font-lock-match-constants 91 | (concat "\\<\\(" 92 | (regexp-opt maxima-font-lock-constants) 93 | "\\)\\>" ) 94 | "Regexp to match the maxima constants.") 95 | 96 | (defvar maxima-font-lock-operators 97 | (with-temp-buffer 98 | (insert-file-contents (format "%s/operators" maxima-font-lock-keywords-directory)) 99 | (split-string (buffer-string) "\n" t))) 100 | 101 | (defvar maxima-font-lock-match-operators 102 | (regexp-opt maxima-font-lock-operators t) 103 | "Regexp to match the maxima operators.") 104 | 105 | (defvar maxima-font-lock-match-numbers 106 | "\\<\\([0-9]+\\)\\>" 107 | "Regexp to match the maxima numbers.") 108 | 109 | (defvar maxima-font-lock-system-variables 110 | (with-temp-buffer 111 | (insert-file-contents (format "%s/system_variables" maxima-font-lock-keywords-directory)) 112 | (split-string (buffer-string) "\n" t))) 113 | 114 | (defvar maxima-font-lock-match-system-variables 115 | (concat "\\<\\(" 116 | (regexp-opt maxima-font-lock-system-variables) 117 | "\\)\\>" ) 118 | "Regexp to match the maxima system variables.") 119 | 120 | (defvar maxima-font-lock-properties 121 | (with-temp-buffer 122 | (insert-file-contents (format "%s/properties" maxima-font-lock-keywords-directory)) 123 | (split-string (buffer-string) "\n" t))) 124 | 125 | (defvar maxima-font-lock-match-properties 126 | (concat "\\<\\(" 127 | (regexp-opt maxima-font-lock-properties) 128 | "\\)\\>" ) 129 | "Regexp to match the maxima properties.") 130 | 131 | (defvar maxima-font-lock-special 132 | (with-temp-buffer 133 | (insert-file-contents (format "%s/special" maxima-font-lock-keywords-directory)) 134 | (split-string (buffer-string) "\n" t))) 135 | 136 | (defvar maxima-font-lock-match-special 137 | (concat "\\<\\(" 138 | (regexp-opt maxima-font-lock-special) 139 | "\\)\\>" ) 140 | "Regexp to match the maxima special constructs.") 141 | 142 | 143 | (defvar maxima-font-lock-keywords 144 | `((,maxima-font-lock-match-functions . font-lock-builtin-face) 145 | (,maxima-font-lock-match-constants . font-lock-constant-face) 146 | (,maxima-font-lock-match-numbers . font-lock-constant-face) 147 | (,maxima-font-lock-match-operators . font-lock-keyword-face) 148 | (,maxima-font-lock-match-system-variables . font-lock-keyword-face) 149 | (,maxima-font-lock-match-properties . font-lock-keyword-face) 150 | (,maxima-font-lock-match-special . font-lock-keyword-face)) 151 | "Default expressions to highlight in Maxima mode.") 152 | 153 | (defun maxima-font-lock-setup () 154 | "Set up maxima font." 155 | (make-local-variable 'font-lock-defaults) 156 | (setq font-lock-defaults 157 | '((maxima-font-lock-keywords) 158 | nil t))) 159 | 160 | (add-hook 'maxima-mode-hook #'maxima-font-lock-setup) 161 | 162 | (provide 'maxima-font-lock) 163 | ;;; maxima-font-lock.el ends here 164 | -------------------------------------------------------------------------------- /poly-maxima.el: -------------------------------------------------------------------------------- 1 | ;;; poly-maxima.el --- Polymode for Maxima -*- lexical-binding: t; -*- 2 | 3 | ;; Copyright (C) 2023 Fermin Munoz 4 | 5 | ;; Author: Fermin Munoz 6 | ;; Maintainer: Fermin Munoz 7 | ;; Created: 8 Oct 2020 8 | ;; Version: 0.7.6 9 | ;; Keywords: languages, maxima,lisp 10 | ;; URL: https://gitlab.com/sasanidas/maxima 11 | ;; Package-Requires: ((emacs "25") (polymode "0.1.5") (maxima "0.6.0") ) 12 | ;; License: GPL-3.0-or-later 13 | 14 | ;; This program is free software; you can redistribute it and/or modify 15 | ;; it under the terms of the GNU General Public License as published by 16 | ;; the Free Software Foundation, either version 3 of the License, or 17 | ;; (at your option) any later version. 18 | 19 | ;; This program is distributed in the hope that it will be useful, 20 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | ;; GNU General Public License for more details. 23 | 24 | ;; You should have received a copy of the GNU General Public License 25 | ;; along with this program. If not, see . 26 | 27 | ;;; Commentary: 28 | 29 | ;; This package integrates Polymode with maxima major mode. 30 | ;; It uses the "special" symbol /*el*/ for delimiter. 31 | ;; You can test this feature using `poly-maxima-insert-block', will create a correct syntax block 32 | ;; 33 | ;; There is also important to remember that the Lisp code must be contracted at the end 34 | ;; because maxima only accept one-line Lisp code. 35 | 36 | ;;; Code: 37 | (require 'polymode) 38 | (require 'maxima) 39 | 40 | (defun poly-maxima-insert-block () 41 | "Insert a :lisp code with the correct `poly-maxima' syntax." 42 | (interactive) 43 | (let* ((current-point (point))) 44 | (insert ":lisp \n/*el*/") 45 | (goto-char (+ current-point 6)))) 46 | 47 | (defun poly-maxima-contract-lisp () 48 | "Handy function to contract into a single line the Lisp code." 49 | (interactive) 50 | (when (or (eq major-mode 'common-lisp-mode) 51 | (eq major-mode 'lisp-mode)) 52 | (let* ((init-point (re-search-backward (rx bol (literal ":lisp")) nil t)) 53 | (end-point (- (re-search-forward "/\\*el\\*/" nil t) 7) )) 54 | (narrow-to-region init-point end-point) 55 | (goto-char (point-min)) 56 | (while (re-search-forward (rx (or (regexp "\t") (regexp "\n"))) nil t) 57 | (replace-match "")) 58 | (widen)))) 59 | 60 | (defun poly-maxima-in-string-or-comment () 61 | "Return non-nil if point is within a string or comment." 62 | (let ((ppss (syntax-ppss))) 63 | (or (car (setq ppss (nthcdr 3 ppss))) 64 | (car (setq ppss (cdr ppss))) 65 | (nth 3 ppss)))) 66 | 67 | (defconst poly-maxima--re-tag-tail-matcher 68 | (eval-when-compile 69 | (rx (literal "/*el*/")))) 70 | 71 | (defun poly-maxima--tag-tail-matcher (ahead) 72 | "Matcher for tail of Lisp block, it requires AHEAD." 73 | (save-excursion 74 | (let ((re-search (if (< ahead 0) #'re-search-backward #'re-search-forward)) 75 | found matched) 76 | (while (and (not found) 77 | (setq matched (funcall re-search poly-maxima--re-tag-tail-matcher nil t))) 78 | (when (and matched (not (poly-maxima-in-string-or-comment))) 79 | (setq found (cons (match-beginning 0) (match-end 0))))) 80 | found))) 81 | 82 | 83 | (define-hostmode maxima-mode-hostmode 84 | :mode 'maxima-mode) 85 | 86 | (define-innermode lisp-innermode 87 | :mode 'common-lisp-mode 88 | :head-matcher (eval-when-compile 89 | (rx (literal ":lisp"))) 90 | :tail-matcher #'poly-maxima--tag-tail-matcher 91 | :head-mode 'body 92 | :tail-mode 'body) 93 | 94 | (define-polymode poly-maxima 95 | :hostmode 'maxima-mode-hostmode 96 | :innermodes '(lisp-innermode)) 97 | 98 | ;;;###autoload 99 | (autoload 'poly-maxima "poly-maxima") 100 | 101 | (provide 'poly-maxima) 102 | ;;; poly-maxima.el ends here 103 | -------------------------------------------------------------------------------- /test/make-install.el: -------------------------------------------------------------------------------- 1 | ;; List of the all the dependencies, including the dev dependencies 2 | (defconst dev-packages '(test-simple s package-lint)) 3 | 4 | ;; Initialize package.el 5 | (setq package-user-dir 6 | (expand-file-name (format ".elpa/%s/elpa" emacs-version))) 7 | 8 | (message "Installing in %s ...\n" package-user-dir) 9 | (package-initialize) 10 | 11 | (setq package-archives 12 | '(("melpa" . "https://melpa.org/packages/") 13 | ("gnu" . "https://elpa.gnu.org/packages/"))) 14 | 15 | (package-refresh-contents) 16 | 17 | ;; Install dependencies 18 | (seq-map (lambda (package) 19 | (unless (package-installed-p package) 20 | (ignore-errors 21 | (package-install package)))) 22 | dev-packages) 23 | 24 | ;; Upgrade dependencies 25 | (save-window-excursion 26 | (package-list-packages t) 27 | (condition-case nil 28 | (progn 29 | (package-menu-mark-upgrades) 30 | (package-menu-execute t)) 31 | (error 32 | (message "All packages up to date")))) 33 | -------------------------------------------------------------------------------- /test/make-test.el: -------------------------------------------------------------------------------- 1 | (let* ((project-tests-file "test-maxima.el") 2 | (current-directory (file-name-directory load-file-name)) 3 | (project-test-path (expand-file-name "." current-directory)) 4 | (project-root-path (expand-file-name ".." current-directory))) 5 | 6 | ;; add the package being tested to 'load-path so it can be 'require-d 7 | (add-to-list 'load-path project-root-path) 8 | (add-to-list 'load-path project-test-path) 9 | 10 | ;; load the file with tests 11 | (load (expand-file-name project-tests-file project-test-path) nil t)) 12 | -------------------------------------------------------------------------------- /test/test-maxima.el: -------------------------------------------------------------------------------- 1 | ;;; test-maxima.el --- Maxima test file. -*- lexical-binding: t; -*- 2 | 3 | ;; Copyright (C) 2020 Fermin Munoz 4 | 5 | ;; License: GPL-3.0-or-later 6 | 7 | ;; This program is free software; you can redistribute it and/or modify 8 | ;; it under the terms of the GNU General Public License as published by 9 | ;; the Free Software Foundation, either version 3 of the License, or 10 | ;; (at your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, 13 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | ;; GNU General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program. If not, see . 19 | 20 | ;;; Commentary: 21 | ;; Maxima test file. 22 | ;; Eval this command to run the test or eval this buffer 23 | ;; (test-simple-run "emacs -Q --batch -L %s -L %s -l %s -l %s" 24 | ;; (file-name-directory (locate-library "maxima.el")) 25 | ;; (file-name-directory (locate-library "test-simple.el")) 26 | ;; (locate-library "s.el") 27 | ;; buffer-file-name) 28 | 29 | ;;; Code: 30 | 31 | ;;;; The requires 32 | (require 'test-simple) 33 | (require 'maxima) 34 | (require 's) 35 | 36 | (test-simple-start) 37 | 38 | (note "Maxima command") 39 | 40 | (assert-t (executable-find maxima-command) 41 | "Can't find maxima executable.") 42 | 43 | (note "Maxima version") 44 | 45 | (assert-t (stringp (maxima-get-version 'maxima-command)) 46 | "The command `maxima-get-version' doesn't return a string.") 47 | 48 | (note "Maxima library") 49 | 50 | (assert-t (file-directory-p maxima-libraries-directory) 51 | "The library directory doesn't exist.") 52 | 53 | (note "Maxima string functions") 54 | 55 | (setq-local maxima-string-example 56 | "/* comment */ sqrt(4) /* comment */") 57 | 58 | (assert-equal "sqrt(4) /* comment */" (maxima-strip-string-beginning maxima-string-example) 59 | "Error in `maxima-strip-string-beginning'.") 60 | 61 | (assert-equal "/* comment */ sqrt(4)" (maxima-strip-string-end maxima-string-example) 62 | "Error in `maxima-strip-string-end'.") 63 | 64 | (assert-equal "sqrt(4)" (maxima-strip-string maxima-string-example) 65 | "Error in `maxima-strip-string'.") 66 | 67 | (assert-equal "sqrt(4);" (maxima-strip-string-add-semicolon maxima-string-example) 68 | "Error in `maxima-strip-string-add-semicolon'.") 69 | 70 | (note "Maxima query position functions") 71 | 72 | (assert-t (with-temp-buffer 73 | (maxima-mode) 74 | (insert "/* this is a comment */") 75 | (re-search-backward "this") 76 | (maxima-in-comment-p)) 77 | "Error in `maxima-in-comment-p'.") 78 | 79 | (note "Maxima query position functions") 80 | 81 | (assert-equal ";" (with-temp-buffer 82 | (maxima-mode) 83 | (insert "sqrt(4);") 84 | (re-search-backward "sq") 85 | (maxima-re-search-forward ";" nil)) 86 | "Error in `maxima-re-search-forward'.") 87 | 88 | (assert-equal ";" 89 | (with-temp-buffer 90 | (maxima-mode) 91 | (insert "sqrt(4)/* comment ; */ ;") 92 | (re-search-backward "sq") 93 | (maxima-re-search-forward-skip-blocks ";" nil)) 94 | "Error founding ; with `maxima-re-search-forward-skip-blocks'.") 95 | 96 | (assert-nil (with-temp-buffer 97 | (maxima-mode) 98 | (insert "sqrt(4)/* comment ; */") 99 | (re-search-backward "sq") 100 | (maxima-re-search-forward-skip-blocks ";" nil)) 101 | "Error, a ; was found when it wasn't suppose to with 102 | `maxima-re-search-forward-skip-blocks'.") 103 | 104 | 105 | (assert-equal ";" (with-temp-buffer 106 | (maxima-mode) 107 | (insert "sqrt(4);") 108 | (maxima-re-search-backward ";" nil)) 109 | "Error in `maxima-re-search-backwards'.") 110 | 111 | (assert-equal ";" 112 | (with-temp-buffer 113 | (maxima-mode) 114 | (insert "sqrt(4)/* comment ; */ ;") 115 | (maxima-re-search-backward-skip-blocks ";" nil)) 116 | "Error founding ; with `maxima-re-search-backward-skip-blocks'.") 117 | 118 | (assert-nil (with-temp-buffer 119 | (maxima-mode) 120 | (insert "sqrt(4)/* comment ; */") 121 | (maxima-re-search-backward-skip-blocks ";" nil)) 122 | "Error, a ; was found when it wasn't suppose to with 123 | `maxima-re-search-backward-skip-blocks'.") 124 | 125 | 126 | (note "Maxima move position functions") 127 | 128 | 129 | (assert-equal 27 130 | (with-temp-buffer 131 | (maxima-mode) 132 | (insert " /* this is a comment */ sqrt(4);") 133 | (move-beginning-of-line 0) 134 | (maxima-forward-over-comment-whitespace) 135 | (point)) 136 | "Error with `maxima-forward-over-comment-whitespace'.") 137 | 138 | (assert-equal 10 (with-temp-buffer 139 | (maxima-mode) 140 | (insert "sqrt(4);a /* this is a comment */") 141 | (maxima-back-over-comment-whitespace) 142 | (point)) 143 | "Error with `maxima-back-over-comment-whitespace'.") 144 | 145 | (assert-equal 9 (with-temp-buffer 146 | (maxima-mode) 147 | (insert "sqrt(4);a /* this is a comment */") 148 | (maxima-goto-beginning-of-form) 149 | (point)) 150 | "Error with `maxima-goto-beginning-of-form'.") 151 | 152 | (assert-equal 9 (with-temp-buffer 153 | (maxima-mode) 154 | (insert "sqrt(4);a /* this is a comment */") 155 | (re-search-backward "qr") 156 | (maxima-goto-end-of-form) 157 | (point)) 158 | "Error with `maxima-goto-end-of-form'.") 159 | 160 | (assert-equal 9 (with-temp-buffer 161 | (maxima-mode) 162 | (insert "sqrt(4);a /* this is a comment */") 163 | (re-search-backward "qr") 164 | (maxima-goto-end-of-expression) 165 | (point)) 166 | "Error with `maxima-goto-end-of-expression'.") 167 | 168 | (assert-equal 'if (with-temp-buffer 169 | (maxima-mode) 170 | (insert 171 | "if sqrt(4) = 2 then 172 | print(\"Correct\") 173 | else 174 | print(\"No\");") 175 | (re-search-backward "2") 176 | (maxima-goto-beginning-of-construct (point-min)) 177 | (symbol-at-point)) 178 | "Error with `maxima-goto-beginning-of-construct'.") 179 | 180 | 181 | (note "Inferior process functions") 182 | 183 | 184 | (assert-t (let* ((inferior (maxima-make-inferior "test" t)) 185 | (inferior-buffer (process-buffer inferior)) 186 | (inferior-point)) 187 | (with-current-buffer inferior-buffer 188 | (setq inferior-point (= (point) (point-max)))) 189 | (maxima-remove-inferior inferior) 190 | inferior-point) 191 | "The point is not in the last character of the buffer 192 | when a inferior-maxima process start.") 193 | 194 | (assert-t (progn 195 | (maxima-init-inferiors) 196 | (and maxima-inferior-process maxima-auxiliary-inferior-process)) 197 | "`maxima-inferior-process' doesn't start correctly.") 198 | 199 | (assert-nil (let* ((examples '("load(\"alsdfasfd\");" 200 | "block([asdfasdfjh],x);" 201 | "loadfile(\"dasdasdajjkkJJk23.mac\");" 202 | "loadfile(\"dasdasdajjkkJJk23.mac\")$" 203 | "f(x,t,[x]) := x^2;" 204 | "f(x,t,[x]) := x^2$" 205 | "m:sin(%pi/2);" 206 | "m:sin(%pi/2)$" 207 | "kill(\"seksile\");" 208 | "kill(\"seksile\")$" 209 | ":lisp (format t \"hello from lisp~%\""))) 210 | (if (< (string-to-number emacs-version) 27.1) 211 | (seq-contains 212 | (seq-map #'maxima-inferior-auxiliar-filter examples) nil) 213 | (seq-contains-p 214 | (seq-map #'maxima-inferior-auxiliar-filter examples) nil))) 215 | "`maxima-inferior-auxiliar-filter' doesn't filter correctly.") 216 | 217 | ;;DOC The function `maxima-inferior-auxiliar-filter' return the position of the 218 | ;; regex, in these case, all the regex position are 0. 219 | (assert-t (let* ((examples '("plot2d(f(x),[x,1,100]);" 220 | "plot2d(f(x),[x,1,100])$" 221 | "draw(scene1, scene2, columns = 2)$" 222 | "draw(scene1, scene2, columns = 2);"))) 223 | (if (< (string-to-number emacs-version) 27.1) 224 | (not (seq-contains 225 | (seq-map #'maxima-inferior-auxiliar-filter examples)0)) 226 | (not (seq-contains-p 227 | (seq-map #'maxima-inferior-auxiliar-filter examples) 0)))) 228 | "`maxima-inferior-auxiliar-filter' doesn't filter correctly.") 229 | 230 | (assert-nil (progn 231 | (maxima-init-inferiors) 232 | (maxima-stop t) 233 | (and (not (get-buffer "*maxima*" )) (not (get-buffer "*aux-maxima*")) 234 | (and (processp maxima-inferior-process) 235 | (processp maxima-auxiliary-inferior-process)))) 236 | "`maxima-stop' doesn't stop the processes correctly.") 237 | 238 | (assert-equal (list "test" t) 239 | (let* ((inferior (maxima-make-inferior "test" t)) 240 | (inferior-name (process-name inferior)) 241 | (response (list inferior-name (processp inferior)))) 242 | (maxima-remove-inferior inferior) 243 | response) 244 | "`maxima-make-inferior' doesn't returns a process 245 | with the correct name.") 246 | 247 | (assert-t (let* ((inferior-process (maxima-make-inferior "test" t)) 248 | (inferior-buffer (process-buffer inferior-process))) 249 | (maxima-remove-inferior inferior-process) 250 | (and (not (buffer-name inferior-buffer)) 251 | (equal (process-status inferior-process) 'signal))) 252 | "`maxima-remove-inferior' doesn't delete the inferior 253 | buffer and process correctly.") 254 | 255 | (assert-t (let* ((inferior (maxima-make-inferior "test")) 256 | (inferior-runing (maxima-inferior-running inferior))) 257 | (maxima-remove-inferior inferior) 258 | inferior-runing) 259 | "`maxima-inferior-running' doesn't check correctly if an inferior is running.") 260 | 261 | (note "Help functions") 262 | 263 | ;; (assert-equal '("sqrt" "sqrtdispflag") 264 | ;; (let* ((inferior (maxima-make-inferior "test")) 265 | ;; (completions (maxima-get-completions "sqrt" inferior))) 266 | ;; (maxima-remove-inferior inferior) 267 | ;; completions) 268 | ;; "`maxima-get-completions' doesn't work as intended.") 269 | (assert-t 270 | (let* ((inferior (maxima-make-inferior "test")) 271 | (response nil)) 272 | (maxima-get-info-on-subject inferior "sqrt" t) 273 | (setq response (bufferp (get-buffer "*maxima-help*"))) 274 | (maxima-remove-inferior inferior) 275 | response) 276 | "`maxima-get-info-on-subject' doesn't create a help buffer.") 277 | 278 | ;; (assert-equal "sqrt ()" 279 | ;; (let* ((response nil)) 280 | ;; (maxima-init-inferiors) 281 | ;; (setq response (with-temp-buffer 282 | ;; (maxima-mode) 283 | ;; (insert "sqrt") 284 | ;; (goto-char (point-min)) 285 | ;; (maxima-symbol-doc))) 286 | ;; (maxima-stop t) 287 | ;; response) 288 | ;; "`maxima-symbol-doc' doesn't return the correct symbol signature.") 289 | 290 | ;; (assert-equal '("sqrt ()") 291 | ;; (let* ((inferior (maxima-make-inferior "test")) 292 | ;; (response nil)) 293 | ;; (sleep-for 0.7) 294 | ;; (setq response (maxima-document-get "sqrt" inferior)) 295 | ;; (maxima-remove-inferior inferior) 296 | ;; response) 297 | ;; "`maxima-document-get' doesn't return the correct symbol list.") 298 | 299 | 300 | 301 | (end-tests) 302 | 303 | (provide 'test-maxima) 304 | ;;; test-maxima.el ends here 305 | --------------------------------------------------------------------------------