You can subscribe to this list here.
| 2001 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(83) |
Nov
(57) |
Dec
(111) |
| 2004 |
Jan
(38) |
Feb
(121) |
Mar
(107) |
Apr
(241) |
May
(102) |
Jun
(190) |
Jul
(239) |
Aug
(158) |
Sep
(184) |
Oct
(193) |
Nov
(47) |
Dec
(68) |
| 2005 |
Jan
(190) |
Feb
(105) |
Mar
(99) |
Apr
(65) |
May
(92) |
Jun
(250) |
Jul
(197) |
Aug
(128) |
Sep
(101) |
Oct
(183) |
Nov
(186) |
Dec
(42) |
| 2006 |
Jan
(102) |
Feb
(122) |
Mar
(154) |
Apr
(196) |
May
(181) |
Jun
(281) |
Jul
(310) |
Aug
(198) |
Sep
(145) |
Oct
(188) |
Nov
(134) |
Dec
(90) |
| 2007 |
Jan
(134) |
Feb
(181) |
Mar
(157) |
Apr
(57) |
May
(81) |
Jun
(204) |
Jul
(60) |
Aug
(37) |
Sep
(17) |
Oct
(90) |
Nov
(122) |
Dec
(72) |
| 2008 |
Jan
(130) |
Feb
(108) |
Mar
(160) |
Apr
(38) |
May
(83) |
Jun
(42) |
Jul
(75) |
Aug
(16) |
Sep
(71) |
Oct
(57) |
Nov
(59) |
Dec
(152) |
| 2009 |
Jan
(73) |
Feb
(213) |
Mar
(67) |
Apr
(40) |
May
(46) |
Jun
(82) |
Jul
(73) |
Aug
(57) |
Sep
(108) |
Oct
(36) |
Nov
(153) |
Dec
(77) |
| 2010 |
Jan
(42) |
Feb
(171) |
Mar
(150) |
Apr
(6) |
May
(22) |
Jun
(34) |
Jul
(31) |
Aug
(38) |
Sep
(32) |
Oct
(59) |
Nov
(13) |
Dec
(62) |
| 2011 |
Jan
(114) |
Feb
(139) |
Mar
(126) |
Apr
(51) |
May
(53) |
Jun
(29) |
Jul
(41) |
Aug
(29) |
Sep
(35) |
Oct
(87) |
Nov
(42) |
Dec
(20) |
| 2012 |
Jan
(111) |
Feb
(66) |
Mar
(35) |
Apr
(59) |
May
(71) |
Jun
(32) |
Jul
(11) |
Aug
(48) |
Sep
(60) |
Oct
(87) |
Nov
(16) |
Dec
(38) |
| 2013 |
Jan
(5) |
Feb
(19) |
Mar
(41) |
Apr
(47) |
May
(14) |
Jun
(32) |
Jul
(18) |
Aug
(68) |
Sep
(9) |
Oct
(42) |
Nov
(12) |
Dec
(10) |
| 2014 |
Jan
(14) |
Feb
(139) |
Mar
(137) |
Apr
(66) |
May
(72) |
Jun
(142) |
Jul
(70) |
Aug
(31) |
Sep
(39) |
Oct
(98) |
Nov
(133) |
Dec
(44) |
| 2015 |
Jan
(70) |
Feb
(27) |
Mar
(36) |
Apr
(11) |
May
(15) |
Jun
(70) |
Jul
(30) |
Aug
(63) |
Sep
(18) |
Oct
(15) |
Nov
(42) |
Dec
(29) |
| 2016 |
Jan
(37) |
Feb
(48) |
Mar
(59) |
Apr
(28) |
May
(30) |
Jun
(43) |
Jul
(47) |
Aug
(14) |
Sep
(21) |
Oct
(26) |
Nov
(10) |
Dec
(2) |
| 2017 |
Jan
(26) |
Feb
(27) |
Mar
(44) |
Apr
(11) |
May
(32) |
Jun
(28) |
Jul
(75) |
Aug
(45) |
Sep
(35) |
Oct
(285) |
Nov
(99) |
Dec
(16) |
| 2018 |
Jan
(8) |
Feb
(8) |
Mar
(42) |
Apr
(35) |
May
(23) |
Jun
(12) |
Jul
(16) |
Aug
(11) |
Sep
(8) |
Oct
(16) |
Nov
(5) |
Dec
(8) |
| 2019 |
Jan
(9) |
Feb
(28) |
Mar
(4) |
Apr
(10) |
May
(7) |
Jun
(4) |
Jul
(4) |
Aug
|
Sep
(4) |
Oct
|
Nov
(23) |
Dec
(3) |
| 2020 |
Jan
(19) |
Feb
(3) |
Mar
(22) |
Apr
(17) |
May
(10) |
Jun
(69) |
Jul
(18) |
Aug
(23) |
Sep
(25) |
Oct
(11) |
Nov
(20) |
Dec
(9) |
| 2021 |
Jan
(1) |
Feb
(7) |
Mar
(9) |
Apr
|
May
(1) |
Jun
(8) |
Jul
(6) |
Aug
(8) |
Sep
(7) |
Oct
|
Nov
(2) |
Dec
(23) |
| 2022 |
Jan
(23) |
Feb
(9) |
Mar
(9) |
Apr
|
May
(8) |
Jun
(1) |
Jul
(6) |
Aug
(8) |
Sep
(30) |
Oct
(5) |
Nov
(4) |
Dec
(6) |
| 2023 |
Jan
(2) |
Feb
(5) |
Mar
(7) |
Apr
(3) |
May
(8) |
Jun
(45) |
Jul
(8) |
Aug
|
Sep
(2) |
Oct
(14) |
Nov
(7) |
Dec
(2) |
| 2024 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(2) |
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
(4) |
Dec
(14) |
| 2025 |
Jan
(22) |
Feb
(6) |
Mar
(5) |
Apr
(14) |
May
(6) |
Jun
(11) |
Jul
(19) |
Aug
|
Sep
(17) |
Oct
(1) |
Nov
(1) |
Dec
|
|
From: Justace C. <pro...@co...> - 2004-03-03 04:27:09
|
So,
I have this project where I have computed a bunch of channel
correlations. The entire matrix is like 1800x1800 with one side of the
diaganal set to NaN since it is symetric. Now to the root of the
problem. I use the pm3d portion of gnuplot to create a 2D map of the
matrix. Here is the snipplit of code that I use...
-----------------------SNIP
if($save) {
print GNUPLOT "
set terminal postscript eps color palfuncparam 500
set output \"${saveFilename}\"
set size 3/10,3/7
";
} else {
GNUPLOT->autoflush(1);
}
print GNUPLOT "
set xrange [1:1792]
set yrange [1:1792]
set cbrange [-1:1]
# unset colorbox
unset ytics
set xtics (\"129\" 129, \"257\" 257, \"385\" 385, \"513\" 513,
\"641\" 641, \"0\" 769, \"129\" 897, \"257\" 1025, \"385\" 1153, \"513\"
1281, \"641\" 1409, \"769\" 1537, \"897\" 1665)
set y2tics (\"129\" 129, \"257\" 257, \"385\" 385, \"513\" 513,
\"641\" 641, \"0\" 769, \"129\" 897, \"257\" 1025, \"385\" 1153, \"513\"
1281, \"641\" 1409, \"769\" 1537, \"897\" 1665)
set format y \"%4.0f\"
set format x \"%4.0f\"
set size ratio 1
set title \"${titleClean}\"
set y2label \"Channel\"
set xlabel \"Channel\"
set pm3d map
set palette defined (0 \"white\", 1 \"black\", 2 \"blue\")
# set palette defined (-1 \"red\", -0.5 \"black\", 0.5 \"black\", 1
\"blue\")
splot '${tmpFilename}' matrix title \"\"
";
if(! $save) {
print GNUPLOT "
pause -1;
";
getc();
}
close(GNUPLOT);
--------------------------END SNIP
I used the first set size command to try to bring the file size down, of
course it did not work. The resultant file is 120Meg. This is crazy.
Am I doing somehting wrong?
Justace
|
|
From: Ethan M. <merritt@u.washington.edu> - 2004-03-02 18:26:07
|
There have been a couple of requests that 'plot with filledcurves' should honor the setting of 'set style fill'. I have placed a patch on SourceForge that adds a style parameter to the term_api definition of term->filled_polygon for all terminal types that support it. I went ahead and implemented it for x11 and gd, but not for any other terminal types as yet. This is *not* intended for inclusion in the upcoming version 4.0 release (at least not unless the release gets substantially delayed for other reasons). Remarks: Implementing this for the postscript-like drivers could be ugly. It would largely duplicate code and macros already in place for post_boxfill(). I am inclined to think that the code should be revised to support only post_filled_polygon(), and post_boxfill() re-implemented as a special-case request for a 4-vertex polygon. Note that this is already done for the equivalent calls in cgm.trm. The problem here is that currently boxfill() code is compiled conditional on USE_ULIG_BOXES, while filled_polygon() code is conditional on PM3D. We would have to disentangle these two different configuration options, at least with regard to their overlapping requirement for term->filled_polygon() support. Request: Please feel free to contribute support for other terminal drivers. A clean PostScript implementation and windows code are probably both needed before this could go into cvs. -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center (206)543-1421 Mailstop 357742 University of Washington, Seattle, WA 98195 |
|
From: Hans-Bernhard B. <br...@ph...> - 2004-03-01 12:56:53
|
On Mon, 1 Mar 2004, Dave Denholm wrote:
> Aren't string literals merely a convenience feature. You can implement
> things explicitly as
>
> static const char label1[] = "hello world\n";
Sure. The core problem is with large arrays of string literals...
Technically, that makes them 2D arrays, and for those, you can't
have the "inner" dimension (i.e. the lengths of individual strings)
variable. That would mean we either
static const char PS_header[][60] = {
"line 1\n",
"line2\n",
/*... */
};
and waste even more space than we currently do, because of variations in
line lengths, or declare each line as an individual, named string
variable, and construct the array from pointers to those strings:
static const char line1[]="line1\n";
static const char line2[]="line2\n";
/*...*/
static const char *PS_header[] = {
line1,
line2,
/* ... */
};
The problem at hand is not with string literals as such, but with large
collections of them, and with keeping the source code at least barely
legible and extensible.
--
Hans-Bernhard Broeker (br...@ph...)
Even if all the snow were burnt, ashes would remain.
|
|
From: Petr M. <mi...@ph...> - 2004-03-01 12:01:28
|
Instead of forcing to compile gnuplot 4.0 under 16bit with crippled functionality, what about to extend gnuplot 3.7.3 to 3.7.4 so that it supports "unset blabla" and "set style xxx" instead of the previous? > every output document is stored as a separate file in some appropriate > directory, and then copied into the output stream when a new I'm like this way -- people are used to have a single (or two) executables and will be happening that under crazy installations, they won't be able to create postscript files, and thus cry a lot. > 3) It is possible to have multiple, printer- or language- specific, prologues. There could be a new option for the postscript driver to load such personal prologues. But that's a new feature never needed until now. > separate prologue file might get lost if the installation process is botched. > But this shouldn't be any worse than having to correctly find the outboard > gnuplot_x11 driver, or the help file. Unixish people do mostly "make install", but all others (using "*.exe" binaries) will definitely loose this file frequently. --- Petr Mikulik |
|
From: Dave D. <dde...@es...> - 2004-03-01 10:31:28
|
Hans-Bernhard Broeker <br...@ph...> writes:
> On Fri, 27 Feb 2004, Ethan Merritt wrote:
>
>> It occurs to me that we might use the approach of Adobe products
>> like FrameMaker. The long PostScript prolog that is constant for
>> every output document is stored as a separate file in some appropriate
>> directory, and then copied into the output stream when a new
>> document is being generated.
>
> Yeah, that idea had been creeping around at the back of my mind, too.
>
>> 1) It doesn't take up any space in the source code module, which is
>> what your DOS compiler doesn't handle well
>
> At least part of the blame for that goes to the language itself. There's
> no syntax in C to influence where string constants are to be stored.
> If you look at the (slightly modified) definition of PS_header:
>
> static const char GPFAR * const GPFAR PS_header[] = {
> "line of text\n",
> "line of text\n",
> /*...*/
> "last line\n"
> };
>
> you'll find that there are two GPFAR markers for the array of pointers,
> i.e. it's a "far array" of "far pointers". But I can't tell the compiler
> to put the *strings* themselves into a "far data" or "far code" segment.
>
Aren't string literals merely a convenience feature. You can implement
things explicitly as
static const char label1[] = "hello world\n";
main()
{
printf(label1);
}
which probably generates identical code (apart from pollution of name space)
So, while tedious, it should be possible to force the string data
to go anywhere you want ..?
dd
--
Dave Denholm <dde...@es...> http://www.esmertec.com
|
|
From: Ethan A M. <merritt@u.washington.edu> - 2004-02-28 22:25:03
|
On Saturday 28 February 2004 08:12 am, Hans-Bernhard Broeker wrote: > On Fri, 27 Feb 2004, Ethan Merritt wrote: > > 2) It allows local customization of the prologue without having to > > recompile the main program. > > That would complicate bug report handling, though --- it's one more thing > exposed to be broken by users who don't quite know what they're doing. People can always break things if they try hard enough. The normal unix way would be to install the default prologue file read-only in some system directory, but have the program check first for a possibly modified copy in ~/.gnuplot/prologue.ps or some such. The first line of defence in the FAQ and in screening bug reports then becomes: "If you have a locally customized version of prologue.ps in your home directory, please remove it and see if the problem persists." -- Ethan A Merritt Department of Biochemistry & Biomolecular Structure Center University of Washington, Seattle |
|
From: Daniel J S. <dan...@ie...> - 2004-02-28 18:35:04
|
Hans-Bernhard Broeker wrote:
>On Fri, 27 Feb 2004, Ethan Merritt wrote:
>
>
>
>>It occurs to me that we might use the approach of Adobe products
>>like FrameMaker. The long PostScript prolog that is constant for
>>every output document is stored as a separate file in some appropriate
>>directory, and then copied into the output stream when a new
>>document is being generated.
>>
>>
>
>Yeah, that idea had been creeping around at the back of my mind, too.
>
>
>
>>1) It doesn't take up any space in the source code module, which is
>> what your DOS compiler doesn't handle well
>>
>>
>
>At least part of the blame for that goes to the language itself. There's
>no syntax in C to influence where string constants are to be stored.
>If you look at the (slightly modified) definition of PS_header:
>
> static const char GPFAR * const GPFAR PS_header[] = {
> "line of text\n",
> "line of text\n",
> /*...*/
> "last line\n"
> };
>
>you'll find that there are two GPFAR markers for the array of pointers,
>i.e. it's a "far array" of "far pointers". But I can't tell the compiler
>to put the *strings* themselves into a "far data" or "far code" segment.
>
Yes, that seems like an assembler controlled directive.
>I'm not quite through trying all possible tricks to get this through
>the compiler's limitations, though.
>
>
Can you issue an assembler directive using the "asm()" command depending
upon if it is DOS? How many different assemblers are there for DOS?
(Borland, Microsoft) And how different are there assembler commands
for control memory location? But that might still not do it, because
controlling the string placement is the issue, right?
This is odd, I just grabbed an old Microsoft C book by Jamsa. He has an
example:
main()
{
char far *str = "Message to display";
str_display(str);
}
where the subroutine has the command
printf("%c %p\n", str[i], &str[i]);
which ends up printing the memory values as
6CB2:0282 M
6CB2:0283 e
...
and so on. So that seems to suggest to me that assemblers should be
programmed smart enough to recognize that the strings declared with
"far" pointers can be placed in far memory blocks.
Perhaps the C syntax above is conflicting. Maybe by also declaring the
pointer as "const", the assembler is forced to place the strings in the
segment where constant memory is located; and that may be in the code
segment. As a wild guess, you might try removing the "static" and/or
"const" qualifiers.
Dan
|
|
From: Hans-Bernhard B. <br...@ph...> - 2004-02-28 16:15:58
|
On Fri, 27 Feb 2004, Ethan Merritt wrote:
> It occurs to me that we might use the approach of Adobe products
> like FrameMaker. The long PostScript prolog that is constant for
> every output document is stored as a separate file in some appropriate
> directory, and then copied into the output stream when a new
> document is being generated.
Yeah, that idea had been creeping around at the back of my mind, too.
> 1) It doesn't take up any space in the source code module, which is
> what your DOS compiler doesn't handle well
At least part of the blame for that goes to the language itself. There's
no syntax in C to influence where string constants are to be stored.
If you look at the (slightly modified) definition of PS_header:
static const char GPFAR * const GPFAR PS_header[] = {
"line of text\n",
"line of text\n",
/*...*/
"last line\n"
};
you'll find that there are two GPFAR markers for the array of pointers,
i.e. it's a "far array" of "far pointers". But I can't tell the compiler
to put the *strings* themselves into a "far data" or "far code" segment.
I'm not quite through trying all possible tricks to get this through
the compiler's limitations, though.
> 2) It allows local customization of the prologue without having to
> recompile the main program.
That would complicate bug report handling, though --- it's one more thing
exposed to be broken by users who don't quite know what they're doing.
> 3) It is possible to have multiple, printer- or language- specific,
> prologues.
I don't really see a need for that... The prologue we have seems to work
reasonably well for everyone.
> The only possible down-side I can think of at the moment is that this
> separate prologue file might get lost if the installation process is botched.
That's indeed a potentially serious problem, mainly because there's no
"standardized" directory layout for DOS and Windows programs. Win16
doesn't even recognize the "c:\program files\package" scheme.
Even now, it may take an environment variable just to allow DOS and
Windows gnuplot to reliably find their help files.
I'll include this option in my further considerations ...
--
Hans-Bernhard Broeker (br...@ph...)
Even if all the snow were burnt, ashes would remain.
|
|
From: Ethan M. <merritt@u.washington.edu> - 2004-02-27 20:24:18
|
On Thursday 26 February 2004 09:22 am, Ethan Merritt wrote: > On Thursday 26 February 2004 04:39 am, Hans-Bernhard Broeker wrote: > > cgm.trm can't be built if FILLEDBOXES was turned on, but PM3D wasn't, > > because CGM_fillbox uses the PM3D type gpiPoint internally, and calls > > CGM_filled_polygon() to do the actual job. > > If necessary I can probably hack at it to make it compile properly given > the various conditional compilation options, but I would need to have > someone else to confirm the validity of the output in each case. Simple patch attached. It just dummies up one typedef so that cgm.trm can use the same code it would have used if PM3D were present. Someone please confirm that this works on a system with "real" cgm. -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center (206)543-1421 Mailstop 357742 University of Washington, Seattle, WA 98195 |
|
From: Ethan M. <merritt@u.washington.edu> - 2004-02-27 18:04:25
|
On Wednesday 25 February 2004 01:03 am, Hans-Bernhard Broeker wrote: > > DOS-16bit works, sort of. But that's after I disabled most of the bit > optional features (filled boxes, PM3D) *and* removed pretty much all > terminal drivers besides dospc (the interactive graphics driver), table > and cgm. Yes, that does mean I had to throw out post.trm ;-( The reason > post.trm had to go is the PS_header[] string array. This is simply too > large, ... It occurs to me that we might use the approach of Adobe products like FrameMaker. The long PostScript prolog that is constant for every output document is stored as a separate file in some appropriate directory, and then copied into the output stream when a new document is being generated. This has a number of advantages: 1) It doesn't take up any space in the source code module, which is what your DOS compiler doesn't handle well 2) It allows local customization of the prologue without having to recompile the main program. This would allow customization of A4/letter page size, selection of colors, dash-dot styles, and alternate character encodings. 3) It is possible to have multiple, printer- or language- specific, prologues. The only possible down-side I can think of at the moment is that this separate prologue file might get lost if the installation process is botched. But this shouldn't be any worse than having to correctly find the outboard gnuplot_x11 driver, or the help file. -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center (206)543-1421 Mailstop 357742 University of Washington, Seattle, WA 98195 |
|
From: Daniel J S. <dan...@ie...> - 2004-02-26 18:39:08
|
Ethan Merritt wrote: >On Thursday 26 February 2004 09:57 am, Daniel J Sebald wrote: > > >>Oh yeah, what about this issue with the arrowhead tips extending past >>the point specified in the data? I guess I'm in the camp that says that >>should be fixed so that the arrowhead tip ends right at the data point >>specified. It would be nice to not let people get into the habit of >>compensating for that themselves and then to later have it changes. >> >> > >I am opposed to touching this before a version 4 release. >It falls into the area of aesthetics and philosophy rather than >bug-fixing. > It is a big change. Not a show-stopper. Dan |
|
From: Ethan M. <merritt@u.washington.edu> - 2004-02-26 18:12:43
|
On Thursday 26 February 2004 09:57 am, Daniel J Sebald wrote: > Oh yeah, what about this issue with the arrowhead tips extending past > the point specified in the data? I guess I'm in the camp that says that > should be fixed so that the arrowhead tip ends right at the data point > specified. It would be nice to not let people get into the habit of > compensating for that themselves and then to later have it changes. I am opposed to touching this before a version 4 release. It falls into the area of aesthetics and philosophy rather than bug-fixing. I don't want to rehash the whole discussion now, but I suggest that long-term the best fix is to have an arrow drawing mode that works by building the arrow out of filled rectangles and filled triangles. That way you could specify thin lines but a solid fill and I think everyone would be happy with the resulting plot. -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center (206)543-1421 Mailstop 357742 University of Washington, Seattle, WA 98195 |
|
From: Daniel J S. <dan...@ie...> - 2004-02-26 17:39:20
|
Oh yeah, what about this issue with the arrowhead tips extending past
the point specified in the data? I guess I'm in the camp that says that
should be fixed so that the arrowhead tip ends right at the data point
specified. It would be nice to not let people get into the habit of
compensating for that themselves and then to later have it changes. I
wrote out the formula and was going to write a patch, but unfortunately
there was nowhere that I could get the line thickness from.
Could it be kludged in some way? That is, could we add a terminal
routine (dread!) that returns the width of the line and then in the
terminal function just do some trial and error guesstimating about the
line thickness? That is, the formula for the vector to compensate is
v = - SE * w / (2 |SE| sin(alpha))
where SE is the vector in terms of start and end position, alpha is the
angle of the arrow command, and w is the width of the current line.
Since line widths are a unitless number, I assume that each terminal
needs a different routine, e.g.,
w = term->linewidth( unitless_width );
Where w is the width in appropriate graph units. Or maybe the linewidth
could be an array entry in other terminal characteristics. For now,
maybe the values could be fudged by trial and error. E.g.,
float PS_linewidth( unitless_width ) {
/* Do a crude linear approximation for now. */
return unitless_width * TRIAL_AND_ERROR_PARAMETER;
}
Any thoughts on what to do here?
Dan
|
|
From: Ethan M. <merritt@u.washington.edu> - 2004-02-26 17:24:25
|
On Thursday 26 February 2004 04:39 am, Hans-Bernhard Broeker wrote: > > cgm.trm can't be built if FILLEDBOXES was turned on, but PM3D wasn't, > because CGM_fillbox uses the PM3D type gpiPoint internally, and calls > CGM_filled_polygon() to do the actual job. > > Who looks after this: Ethan? Jim? I have only a limited ability to test the cgm code, via an old cgm emulation package called ralcgm. I added a few lines to the driver at some point by working directly from the cgm spec to support colored text. Then I added a few more fixes forwarded by (IIRC) Jim Bollinger. But I am not really familiar with the code. If necessary I can probably hack at it to make it compile properly given the various conditional compilation options, but I would need to have someone else to confirm the validity of the output in each case. If no one else steps forward, maybe .... -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center (206)543-1421 Mailstop 357742 University of Washington, Seattle, WA 98195 |
|
From: Daniel J S. <dan...@ie...> - 2004-02-26 17:05:46
|
Hans-Bernhard Broeker wrote: >On Wed, 25 Feb 2004, Daniel J Sebald wrote: > >[PM3D stuff doesn't go through the 2D parts of gnuplot] > > > >>In some sense it does. I mean, it may not be set up that way, and that >>is why I say the two are diverging. When it boils down to it, 3D is >>still just drawing lines, filled polygons, colorbox key, etc. >> >> > >It's exactly the filled polygons that don't really use any 2D stuff. > >The rest of the plot (largely) doesn't care whether a given dataset is >output as pm3d, lines or points, but the actual surface plotting, where >the real work is, does. Note that the core data structure you pass >to term->filled_polygon takes an at least optionally 3D data point for >input: struct gpiPoint. > > > >>give the illusion of 3D. Do you agree with that? >> >> > >As long as we don't add an actual 3D terminal driver (OpenGL, VRML >or whatever), yes. But that's not something we have to worry about now. > > > >>>>It should be just the core routines for graphics and then maybe a >>>>"graph2D.c" and "graph3D.c". If a major change is made to graphics.c >>>>right now it will undoubtedly mess up some of the patches currently on >>>>SF. >>>> >>>> > >Well, the "core routines" are actually in term.c and the drivers, not in >graphics.c. The current graphics.c is esentially just that graph2D.c >you're talking of. It contains exactly those things that are specific to >2D plotting: the implementations of 'with <style>' for 2D, and the 2D >graph area positioning stuff, particularly the rather monstrous function >boundary(). > >A more natural split of graphics.c could therefore be along those lines. >I.e. it might make sense to split out boundary() and its helpers into a >new module layout2d.c. > Well, certainly that. I think there was a discussion about better using the visual space in 3D plots. Plus I think there is use for the colorbox key in 2D. So here are some similar features that are handled differently depending upon the type of layout. So there is that aspect. What I was thinking of has to do with the image stuff I did. However, now that I look more closely, it could be that the image case is slightly different from the other lines/points type of drawings. What I'm seeing in graph3d.c are a number of routines (e.g., plot3d_lines) that aren't for plotting just one line, but for plotting a series of lines. And plotting a line is fairly fundamental that it is easy to simply call a vector routine from the 3D routines. However, in the case of drawing an image, which could be in 3D or 2D I certainly didn't want to have one for 2D and one for 3D. So they are combined into one where there is a test inside of the image routine as to whether a 3D projection should be done. Let's hold off this discussion. There are too many issues surrounding this. Dan |
|
From: Hans-Bernhard B. <br...@ph...> - 2004-02-26 12:41:44
|
Hello, everybody, one other small gem I found during may forays into memory-starved platform builds: cgm.trm can't be built if FILLEDBOXES was turned on, but PM3D wasn't, because CGM_fillbox uses the PM3D type gpiPoint internally, and calls CGM_filled_polygon() to do the actual job. As a minimal fix, the relevant #if's in cgm.trm would have to be changed from #ifdef USE_ULIG_FILLEDBOXES to #if defined(USE_ULIG_FILLEDBOXES) && defined(PM3D) Who looks after this: Ethan? Jim? -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |
|
From: Hans-Bernhard B. <br...@ph...> - 2004-02-26 12:20:05
|
On Wed, 25 Feb 2004, Daniel J Sebald wrote: [PM3D stuff doesn't go through the 2D parts of gnuplot] > In some sense it does. I mean, it may not be set up that way, and that > is why I say the two are diverging. When it boils down to it, 3D is > still just drawing lines, filled polygons, colorbox key, etc. It's exactly the filled polygons that don't really use any 2D stuff. The rest of the plot (largely) doesn't care whether a given dataset is output as pm3d, lines or points, but the actual surface plotting, where the real work is, does. Note that the core data structure you pass to term->filled_polygon takes an at least optionally 3D data point for input: struct gpiPoint. > give the illusion of 3D. Do you agree with that? As long as we don't add an actual 3D terminal driver (OpenGL, VRML or whatever), yes. But that's not something we have to worry about now. > >>It should be just the core routines for graphics and then maybe a > >>"graph2D.c" and "graph3D.c". If a major change is made to graphics.c > >>right now it will undoubtedly mess up some of the patches currently on > >>SF. Well, the "core routines" are actually in term.c and the drivers, not in graphics.c. The current graphics.c is esentially just that graph2D.c you're talking of. It contains exactly those things that are specific to 2D plotting: the implementations of 'with <style>' for 2D, and the 2D graph area positioning stuff, particularly the rather monstrous function boundary(). A more natural split of graphics.c could therefore be along those lines. I.e. it might make sense to split out boundary() and its helpers into a new module layout2d.c. -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |
|
From: Daniel J S. <dan...@ie...> - 2004-02-25 21:37:47
|
Hans-Bernhard Broeker wrote: >On Wed, 25 Feb 2004, Daniel J Sebald wrote: > > > >>I think "graphics.c" is the file I argued should be restructured because >>2D and 3D graphics seemed to be bifurcating. (Ultimately, everything >>ends up being plotted in 2D.) >> >> > >Not everything, strictly. PM3D stuff doesn't. > In some sense it does. I mean, it may not be set up that way, and that is why I say the two are diverging. When it boils down to it, 3D is still just drawing lines, filled polygons, colorbox key, etc. It's just that they are transformed into slightly different way and positioned to give the illusion of 3D. Do you agree with that? It just seemed like better code reuse could have been done there. >>It should be just the core routines for graphics and then maybe a >>"graph2D.c" and "graph3D.c". If a major change is made to graphics.c >>right now it will undoubtedly mess up some of the patches currently on >>SF. >> >> > >Not necessarily. I think I can pull it off while only adding >#ifdef's to graphics.c. I'll effectively compile the same file >twice, but select different parts of it to actually be compiled. >That's a bit hairy, but if patch compatibility is a major concern, >it can be done. > Some strategically placed #ifdefs is not a problem. The patch program usually can figure that kind of thing out with enough offset. However, breaking the file into two chunks would probably cause problems. >>make work in the time span of making a release. Maybe it would be best >>to not rock the 16-bit boat until 4.1. >> >> > >Which will be even bigger, and thus harder to port to 16-bitters. Not to >mention there's not even a *hint* of a plan when a 4.1 might happen. >Averaging over the history of releases since 3.5, that may take 2 >years.... > Can't argue with that point. Dan |
|
From: Ethan M. <merritt@u.washington.edu> - 2004-02-25 20:16:57
|
Your expectation is not correct. There is no such thing as "going back to" a previous plot and adding something to it. This has nothing to do with x11; it is just the way gnuplot works. You can choose a previous output device for a new plot, but the new plot simply replaces the old plot. It does not "add to" it. On Wednesday 25 February 2004 12:05 pm, Dmitri A. Sergatskov wrote: > I played with new this feature of X11 terminal and the behavior was not > what I expected. > Perhaps this is a "feature" rather than the bug, but I'd like to hear > confirmation one way or another. > > gnuplot> set term x11 0 > Terminal type set to 'x11' > Options are '0' > gnuplot> plot sin(x) > (Plot sin(x) in window "0") > gnuplot> set term x11 1 > Terminal type set to 'x11' > Options are '1' > gnuplot> plot sin(2*x) > (This opens the second window and plot sin(2*x), so far so good. > Now I want to go back to window 0 and _add_ cos(x) to the plot) > gnuplot> set term x11 0 > Terminal type set to 'x11' > Options are '0' > gnuplot> replot cos(x) > (sin(x) plot is gone and I have sin(2*x) and cos(x) in windows "0") > > Is it what suppose to happen? > > Sincerely, > > Dmitri. > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > gnuplot-beta mailing list > gnu...@li... > https://lists.sourceforge.net/lists/listinfo/gnuplot-beta -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center (206)543-1421 Mailstop 357742 University of Washington, Seattle, WA 98195 |
|
From: Hans-Bernhard B. <br...@ph...> - 2004-02-25 20:09:02
|
On Wed, 25 Feb 2004, Daniel J Sebald wrote: > I think "graphics.c" is the file I argued should be restructured because > 2D and 3D graphics seemed to be bifurcating. (Ultimately, everything > ends up being plotted in 2D.) Not everything, strictly. PM3D stuff doesn't. > It should be just the core routines for graphics and then maybe a > "graph2D.c" and "graph3D.c". If a major change is made to graphics.c > right now it will undoubtedly mess up some of the patches currently on > SF. Not necessarily. I think I can pull it off while only adding #ifdef's to graphics.c. I'll effectively compile the same file twice, but select different parts of it to actually be compiled. That's a bit hairy, but if patch compatibility is a major concern, it can be done. > make work in the time span of making a release. Maybe it would be best > to not rock the 16-bit boat until 4.1. Which will be even bigger, and thus harder to port to 16-bitters. Not to mention there's not even a *hint* of a plan when a 4.1 might happen. Averaging over the history of releases since 3.5, that may take 2 years.... -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |
|
From: Dmitri A. S. <dm...@un...> - 2004-02-25 20:07:40
|
I played with new this feature of X11 terminal and the behavior was not what I expected. Perhaps this is a "feature" rather than the bug, but I'd like to hear confirmation one way or another. gnuplot> set term x11 0 Terminal type set to 'x11' Options are '0' gnuplot> plot sin(x) (Plot sin(x) in window "0") gnuplot> set term x11 1 Terminal type set to 'x11' Options are '1' gnuplot> plot sin(2*x) (This opens the second window and plot sin(2*x), so far so good. Now I want to go back to window 0 and _add_ cos(x) to the plot) gnuplot> set term x11 0 Terminal type set to 'x11' Options are '0' gnuplot> replot cos(x) (sin(x) plot is gone and I have sin(2*x) and cos(x) in windows "0") Is it what suppose to happen? Sincerely, Dmitri. |
|
From: Hans-Bernhard B. <br...@ph...> - 2004-02-25 20:03:27
|
On Wed, 25 Feb 2004, Ethan Merritt wrote: > But is it not sufficient to support these machines under linux? No. Some of the boxes we're talking about here couldn't run Linux even if their operators' lives depended on it. An actual need for a 16-bit DOS version means real DOS on a 286-class or even smaller machine. An actual IBM PC/AT or PS/2 model 30, roughly 10 years old or older. Such boxes won't even run the 32-bit DOS binary, like the DJGPP one which I'll certainly prepare and package a release of. A need for 16-bit Windows versions can arise even on a 486 box, _if_ it's still running Win3.x, without the "Win32s" add-on installed. -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |
|
From: Petr M. <mi...@ph...> - 2004-02-25 17:25:24
|
I propose to let gnuplot 3.7.3 to be the last one supporting 16bit machines. This may change only if there is a strong feedback, as you say in your posting. You could add this announcement to the new web page too, section "Development". On DOS 386 machine, people can use compiles by emx (or djgpp) -- anyway, I haven't heard long time about any such compile, but as emx is used to compile the OS/2 version, it should work too "in principle" (another terminals). Machines with 286 and Win3.1 -- obviously not the production machines of today, but still can be used in labs for running experiments -- I guess people are happy with gnuplot plotting nice curves as 3.7.3 does, with the memory requirements gnuplot <3.7.3 has, and don't need those features for which gnuplot 4.0 has been extended. --- Petr Mikulik |
|
From: Daniel J S. <dan...@ie...> - 2004-02-25 16:46:56
|
Hans-Bernhard Broeker wrote:
>Hello, all,
>
>I've got round to trying to build 16-bit binaries of gnuplot for DOS and
>Windows and the news, so far, is bad.
>
>Win16 (i.e. good old Windows 3.1 and Windows for Workgroups 3.11) kills
>itself directly on startup. I may be blowing the stack or something ---
>investigating that is a nightmare without at least a Win9x machine.
>
>DOS-16bit works, sort of. But that's after I disabled most of the bit
>optional features (filled boxes, PM3D) *and* removed pretty much all
>terminal drivers besides dospc (the interactive graphics driver), table
>and cgm. Yes, that does mean I had to throw out post.trm ;-( The reason
>post.trm had to go is the PS_header[] string array. This is simply too
>large, and the way it's constructed (array of many short strings) means
>that Borland's compiler, which is otherwise quite clever at squeezing a
>lot of code into those 640KB, fails to move the bulk of it into a separate
>segment. As is, term.obj with post.trm in it costs 26000 of the total of
>64 precious kilobytes of "dgroup". I won't give up on this quite yet,
>though.
>
>The other major challenge is graphics.c, and it affects both 16-bit
>platforms: that module is plain and simply too large. BCC chokes already
>on compiling that source file because it contains more than 64KB of code.
>Maybe I'm overlooking some optimization (the 32-bit graphics.o on Linux
>has only 52KB...), but for the time being, I decided to tentatively split
>graphics.c into two files: I copied all the "steps" plotting style handler
>(plot_{f,hi,}steps) and their helper functions to a separate source file
>and #ifdef'ed out their implementations in graphics.c. The new files
>steps2d.[ch] currently contain copies of the relevant parts of
>graphics.[ch], but those may be replaced by #include'ing graphics.c if I
>put even more #ifdef's into the latter.
>
>I will leave the CVS version free of these complications for now, until
>the following question is settled: Is support for 16-bit machines (think:
>old lab PCs, "poor pupils", under-developed countries...) important enough
>to warrant changes as deep as these before the release?
>
>I'll hands-up poll of any users of the 16-bit versions to the newsgroup to
>get some additional feedback.
>
I think "graphics.c" is the file I argued should be restructured because
2D and 3D graphics seemed to be bifurcating. (Ultimately, everything
ends up being plotted in 2D.) It should be just the core routines for
graphics and then maybe a "graph2D.c" and "graph3D.c". If a major
change is made to graphics.c right now it will undoubtedly mess up some
of the patches currently on SF. Supporting 16-bit would probably be
nice, but a conscious decision needs to be done on how to make that
happen, i.e., how should software be organized, what features will be
included. That will be difficult to make work in the time span of
making a release. Maybe it would be best to not rock the 16-bit boat
until 4.1. That is, don't make an untested upgrade for 16-bit.
Otherwise the 16-bit world will upgrade and probably end up wrecking
their current, workable set up. I don't look back fondly on software
upgrades in the 16-bit days.
Dan
|
|
From: Ethan M. <merritt@u.washington.edu> - 2004-02-25 16:46:36
|
On Wednesday 25 February 2004 01:03 am, Hans-Bernhard Broeker wrote: > The new files steps2d.[ch] currently contain copies of the > relevant parts of graphics.[ch], but those may be replaced by > #include'ing graphics.c if I put even more #ifdef's into the latter. That sounds ugly. If it must be split, I hope we can make it a clean split. > I will leave the CVS version free of these complications for now, until > the following question is settled: Is support for 16-bit machines > (think: old lab PCs, "poor pupils", under-developed countries...) > important enough to warrant changes as deep as these before the release? The goal of supporting old (cheap) machines is a laudable one. But is it not sufficient to support these machines under linux? It sounds like the problems you found are more an issue of the inadequacies of Win3.1 than of the hardware per se. -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center (206)543-1421 Mailstop 357742 University of Washington, Seattle, WA 98195 |