home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.linux
- Path: sparky!uunet!world!jhallen
- From: jhallen@world.std.com (Joseph H Allen)
- Subject: Re: DOS emulation
- Message-ID: <C0E5zx.DK0@world.std.com>
- Organization: The World Public Access UNIX, Brookline, MA
- References: <1993Jan4.180603.60541@ns1.cc.lehigh.edu> <15529@hq.hq.af.mil>
- Date: Tue, 5 Jan 1993 17:31:08 GMT
- Lines: 43
-
- In article <15529@hq.hq.af.mil> john@hq.af.mil writes:
- >
- >--
- >The gnu people are putting together a package called jacal.
- >This is a symbolic math processor. I was looking at making a
- >troff2jackal and back again translator then patching the adrew ez
- >program eq to send the troff code to it for evaluation return and
- >display. This would be a WYSIWIG (almost) way of evaluating
- >equations.
- >
- >Want to help?
-
- For a school project I made an X-windows symbolic math program. I never fully
- completed the symbolic part of it, but the X interface is nice: as you type
- in an equation, it parses it and then pretty prints the parse-tree.
- So you would get something like this:
-
-
- +----------------------------------------+
- | 5 |
- | y = ----- |
- | 9 * ? |
- +----------------------------------------+
- | y = 5/(9*_ |
- +----------------------------------------+
-
- Once an equation was entered, you could then do some simple symbolic
- operations on it: derivatives, rational simplifying, simple factoring and
- distributing. You could also use the mouse to select a part of the
- equation, and have the operation occur only on the selected part.
-
- The program also had 2-D graphics.
-
- I can dig this up if you want to try to do something with it.
-
- It's written entirely in C and Xlib. Unfortunately I didn't know how to use
- the resource manager routines when I wrote it so my widgets aren't
- customizable. That could be easily fixed though.
- --
- /* jhallen@world.std.com (192.74.137.5) */ /* Joseph H. Allen */
- int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
- +r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
- ]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}
-