Commit Graph

34 Commits

Author SHA1 Message Date
Bo Peng
6d23395dc7 Improve Computer Algebra System, from Enrico Forestieri <forenr@tlc.unipr.it>
* src/mathed/math_symbolinset.C
	(void MathSymbolInset::maxima):
	       - newer maxima versions use inf instead of INF
	       - add support for greek pi

	(void MathSymbolInset::mathematica):
	       - add support for \cdot

	* src/mathed/math_stringinset.h
	       - account for the const version of asStringInset()

	* src/mathed/math_extern.C
	(bool extractScript):
	       - added bool superscript to formal parameters in order
	         to only extract superscripts

	(MathArray::iterator extractArgument):
	       - leave out delimiters and a possible superscript
	         for function arguments

	(bool isKnownFunction):
	(bool extractFunctionName):
	       - recognize standard and user defined function names

	(void splitScripts):
	       - correctly split scripts as expected by other functions

	(MathAtom replaceDelims):
	       - ranamed as replaceParenDelims

	(bool testOpenBracket):
	(bool testCloseBracket):
	       - test for "[" and "]", respectively

	(MathAtom replaceBracketDelims):
	       - replace something delimited by "[" and "]" with a
	         proper DelimInset

	(void extractDelims):
	       - create a DelimInset for "[" and "]" delimiters, too

	(void extractFunctions):
	       - improved recognition of function names

	(bool testTermDelimiter):
	       - test for '+' or '-' as term delimiters

	(MathArray::iterator extractTerm):
	       - extract a "term", i.e., something delimited by '+' or '-'

	(bool testDiffItem):
	       - improved recognition of a "differential fraction"

	(void extractDiff):
	       - call splitScripts() on numerator and denominator of a
	         differential fraction before analyzing them

	(void extractLims):
	       - improved recognition of a limit function

	(void extractStructure):
	       - reorganized order of searches

	(MathArray pipeThroughMaxima):
	       - newer versions of maxima use simpsum instead of SIMPSUM

	(string fromMathematicaName):
	       - translates from mathematica names

	(MathArray pipeThroughMathematica):
	       - calls mathematica and collects its output

	(MathArray pipeThroughExtern):
	       - add support for mathematica

	* src/mathed/math_numberinset.C
	* src/mathed/math_numberinset.h
	(void MathNumberInset::mathematica):
	       - add support for mathematica

	* src/mathed/math_matrixinset.C
	* src/mathed/math_matrixinset.h
	(void MathMatrixInset::mathematica):
	       - add support for mathematica

	* src/mathed/math_diffinset.C
	* src/mathed/math_diffinset.h
	(void MathDiffInset::maxima):
	       - add support for maxima

	(void MathDiffInset::mathematica):
	       - mathematica uses "D" and not "Dt" for normal derivatives

	* src/mathed/math_liminset.C
	* src/mathed/math_liminset.h
	(void MathLimInset::maxima):
	       - add support for maxima

	(void MathLimInset::mathematica):
	       - mathematica uses "Limit" and not "Lim" for limits

	* src/mathed/math_exfuncinset.C
	(string asMathematicaName):
	       - added some more function names


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14865 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-02 01:57:36 +00:00
Lars Gullik Bjønnes
59413be9a0 clone NVI, other small stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9295 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-23 23:04:52 +00:00
Lars Gullik Bjønnes
44cd0fc9a1 The std::string mammoth path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7862 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-06 15:43:21 +00:00
Angus Leeming
0705dae8a3 Finish the task of removing all cruft from the header files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7703 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-07 21:25:37 +00:00
Angus Leeming
1f9e9cf517 Standardise the header blurb in mathed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7574 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-19 13:00:56 +00:00
Lars Gullik Bjønnes
4ba8a4d6f6 the clone auto_ptr patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7356 a592a061-630c-0410-9148-cb99ea01b6c8
2003-07-25 17:11:25 +00:00
Lars Gullik Bjønnes
92d522b7f1 introduce namespace lyx::support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7224 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-30 23:56:22 +00:00
André Pönitz
2a5ab60ce8 IU of clone() and getLabelList()
Some mathed internal renamings to prepare further IU


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7173 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-16 11:49:38 +00:00
André Pönitz
285952e130 IU of drawing phase one without 'semantic changes' as requested by John
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7079 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-02 10:03:27 +00:00
André Pönitz
38fce2feac Prepare mathed for unified two-stage drawing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7059 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-28 13:22:36 +00:00
André Pönitz
1829cdef6a promote MathMetricsInfo to MetricsInfo, change mathed accordingly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6555 a592a061-630c-0410-9148-cb99ea01b6c8
2003-03-21 14:20:48 +00:00
André Pönitz
c9e78a825b make naming a bit saner...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6150 a592a061-630c-0410-9148-cb99ea01b6c8
2003-02-14 14:30:09 +00:00
Lars Gullik Bjønnes
99d1627a47 dont use pragma impementation and interface anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6138 a592a061-630c-0410-9148-cb99ea01b6c8
2003-02-13 16:53:15 +00:00
Lars Gullik Bjønnes
13349032cb ws changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5758 a592a061-630c-0410-9148-cb99ea01b6c8
2002-12-01 22:59:25 +00:00
Dekel Tsur
ac7c86da74 Maxima
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5535 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-28 17:15:19 +00:00
André Pönitz
a37064c0ac add #pragme interface/implementation
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5263 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-11 09:14:57 +00:00
André Pönitz
9b4bf4c29d fix 'vanishing \sin' bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4857 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-05 07:09:11 +00:00
André Pönitz
9b2be91bed replace (ascent, descent, width) triples by a structure 'dimension'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4601 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-11 11:27:24 +00:00
André Pönitz
cd19a0b33b Geof Piroux's patch for Mathematica support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4506 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-01 11:17:14 +00:00
André Pönitz
d0ae544d61 make 'det' partially work for math-extern
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4475 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-25 13:49:29 +00:00
André Pönitz
c649284611 several smallish changes/bugfixes/left overs from Porto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4474 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-25 13:19:50 +00:00
André Pönitz
fe87869cb7 fonts as insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4289 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-30 07:09:54 +00:00
Lars Gullik Bjønnes
2b8ef58dc0 ws cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3804 a592a061-630c-0410-9148-cb99ea01b6c8
2002-03-21 17:42:56 +00:00
André Pönitz
858355fb69 - reduce sizeof(MathCharInset) by 20 by better font caching
(lots of subsequent changes)
- ascii art drawing for \frac and \sqrt


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3780 a592a061-630c-0410-9148-cb99ea01b6c8
2002-03-19 16:55:58 +00:00
Angus Leeming
44806c63f9 Fixes for a broken std::count.
A couple of white-space type changes in mathed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3341 a592a061-630c-0410-9148-cb99ea01b6c8
2002-01-11 17:57:02 +00:00
Lars Gullik Bjønnes
33a28bdc9c Add string << operators for the other streams as well, and removes
c_str() all places where it is not needed anymore.
(I also add config.h to several files that was missing it)
+ added s string constructor to math_symbolinset

I also change some "while(" to "while ("

mmm ... yes ... I add a "zero()" function to LyXLength... an "empty()"
function did not seem appropriate. changed a couple of places that
checked on length.value() != 0.0.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3149 a592a061-630c-0410-9148-cb99ea01b6c8
2001-12-05 08:04:20 +00:00
André Pönitz
c80a4abde9 improved function function argument detection for math-extern:
\sum_i{i=1}^n i^2 is now parsed properly.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3025 a592a061-630c-0410-9148-cb99ea01b6c8
2001-11-13 18:33:48 +00:00
André Pönitz
3516a9a2fc recognize a few "well known functions"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2993 a592a061-630c-0410-9148-cb99ea01b6c8
2001-11-09 12:01:10 +00:00
André Pönitz
9921635d78 forgotten file math_extern[Ch]
first shot at transformation 'sin^2 x' -> 'sin(x)^2'


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2992 a592a061-630c-0410-9148-cb99ea01b6c8
2001-11-09 10:44:24 +00:00
André Pönitz
c93e9dcbc5 some support for matrix operations with maple ('M-x math-extern maple evalm')
further cosmetics


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2991 a592a061-630c-0410-9148-cb99ea01b6c8
2001-11-09 08:35:57 +00:00
André Pönitz
1b787e207d cosmetics: rename support.[Ch] into math_support.[Ch]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2985 a592a061-630c-0410-9148-cb99ea01b6c8
2001-11-08 12:15:12 +00:00
André Pönitz
0daba49b1d don't #include too much stuff in .h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2984 a592a061-630c-0410-9148-cb99ea01b6c8
2001-11-08 12:06:56 +00:00
André Pönitz
7cccd80619 change output to uses streams instead of strings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2977 a592a061-630c-0410-9148-cb99ea01b6c8
2001-11-07 17:30:26 +00:00
André Pönitz
2dd919eeb8 parse octave output as matrix if necessary
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2974 a592a061-630c-0410-9148-cb99ea01b6c8
2001-11-07 13:15:59 +00:00