473,467 Members | 1,985 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

e to the i pi

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <complex.h>
/*
double complex z1, z2, z3;
bool flag;
z1 = .4 + .7I;
z2 = cpow(z1, 2.0);
z3 = z1 * z1;
flag = false;
flag = true;
if (flag)
{
printf("%lf %lf\n", creal(z1), cimag(z1));
printf("%lf %lf\n", creal(z2), cimag(z2));
printf("%lf %lf\n", creal(z3), cimag(z3));
printf("%d\n", N);
}
*/

int main(int argc, char *argv[])
{
double complex z1, z2, z3, z4, z5;
z1=5 +7I;
z2=cpow(z1, 1I);
printf("%lf %lf\n", creal(z1), cimag(z1));
printf("%lf %lf\n", creal(z2), cimag(z2));
z5= 0 + I*(3.14159);

z3=2.54 + 0*I;
z4=cpow(z5,z3);
printf("%lf %lf\n", creal(z4), cimag(z4));

system("PAUSE");
return 0;
}
Why doesn't e^(i *pi) equal what most folks think it does? LS
Feb 4 '07
123 4167
On Feb 4, 7:23 am, Richard Heathfield <r...@see.sig.invalidwrote:
Eric Sosman said:
Malcolm McLean wrote:
"Lane Straatman" <inva...@invalid.netwrote in message
Why doesn't e^(i *pi) equal what most folks think it does? LS
Most folks would say that if you try to multiply a number by itself an
imaginary number of times, that is impossible.
That's plane wrong.

Either you have a couple of axes to grind, or you're misreading what Malcolm
wrote, which rings true.
Actually, it's hilarious (if you consider the deliberate misspelling).
IMO-YMMV.

This is referring to the famous equation e^(i*pi) - 1 = 0
which is certainly true in the complex plane.
--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999http://www.cpax.org.uk
email: rjh at the above domain, - www.

Feb 5 '07 #51
jacob navia <ja***@jacob.remcomp.frwrites:
osmium wrote:
"Fred Kleinschmidt" writes:
>Aren't M_PI and M_E defined in math.h?
Thankfully, no. Only in grotesque extensions to the language made
by certain vendors.
Definitions of constants have no proper place in a programming
language, it just leads to two sets of constants, a private set, for
M_AVOGADRO and the like, and the set that came with the compiler,
M_PI. and friends.
lcc-win32 defines M_PI if not in conforming mode, as gcc does, for
instance.
They are not standard C but are POSIX. I do not see the point
in defining PI again and again...
No, gcc doesn't define M_PI. <math.his part of the C library, not
part of the compiler. gcc uses whatever <math.hfile is provided by
the system (that's glibc on some, but by no means all, systems).
(Minor detail: the "fixincludes" program creates a modified version of
<math.hwhen gcc is installed, but that doesn't affect M_PI.)

If we're going to discuss specific implementations, we need to know
what we're talking about. gcc is a compiler, not a full
implementation.

The point is that any program that depends on M_PI is non-portable.
A conforming C implementation *may not* define M_PI in <math.h>.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 5 '07 #52
"user923005" <dc*****@connx.comwrites:
On Feb 4, 7:23 am, Richard Heathfield <r...@see.sig.invalidwrote:
Eric Sosman said:
Malcolm McLean wrote:
>"Lane Straatman" <inva...@invalid.netwrote in message
>>Why doesn't e^(i *pi) equal what most folks think it does? LS
>Most folks would say that if you try to multiply a number by itself an
>imaginary number of times, that is impossible.
That's plane wrong.
Either you have a couple of axes to grind, or you're misreading
what Malcolm wrote, which rings true.

Actually, it's hilarious (if you consider the deliberate misspelling).
IMO-YMMV.
You missed something. Hint: What is the singular of "axes"? (There
are two correct answers.)
This is referring to the famous equation e^(i*pi) - 1 = 0
which is certainly true in the complex plane.
Or perhaps to the even more famous equation e^(i*pi) + 1 = 0
(which I used to have on a t-shirt).

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 5 '07 #53
On Feb 5, 1:10 pm, Keith Thompson <k...@mib.orgwrote:
"user923005" <dcor...@connx.comwrites:
On Feb 4, 7:23 am, Richard Heathfield <r...@see.sig.invalidwrote:
Eric Sosman said:
Malcolm McLean wrote:
"Lane Straatman" <inva...@invalid.netwrote in message
>Why doesn't e^(i *pi) equal what most folks think it does? LS
Most folks would say that if you try to multiply a number by itself an
imaginary number of times, that is impossible.
That's plane wrong.
Either you have a couple of axes to grind, or you're misreading
what Malcolm wrote, which rings true.
Actually, it's hilarious (if you consider the deliberate misspelling).
IMO-YMMV.

You missed something. Hint: What is the singular of "axes"? (There
are two correct answers.)
Is there anything more ironic than ironically missing the irony?
This is referring to the famous equation e^(i*pi) - 1 = 0
which is certainly true in the complex plane.

Or perhaps to the even more famous equation e^(i*pi) + 1 = 0
(which I used to have on a t-shirt).
Do I have to turn in my "math major" badge now?
:-(
--
Keith Thompson (The_Other_Keith) k...@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.- Hide quoted text -

- Show quoted text -

Feb 5 '07 #54

"Lane Straatman" <in*****@invalid.netwrote in message
news:kY******************************@comcast.com. ..
>
"Keith Thompson" <ks***@mib.orgwrote in message
>On the other hand, perhaps Malcolm's subtlety just escaped me, in
which case I'm duly embarrassed to have missed it.
He's got me after complex roots, now, and I've thought about it enough to
want to write it from scratch.
#include <stdio.h>
#include <stdlib.h>
#include <complex.h>
#include <math.h>
int main(void)
{
double complex z1, z3, z4, z5;
double mod, phi, a, b, c, d;
z1 = .4 + .7I;
a = creal(z1);
b = cimag(z1);
mod = sqrt(pow(a, 2) + pow(b, 2));
phi = atan(b/a);
c = ( (sqrt(mod)) * cos( .5 * phi ) );
d = ( (sqrt(mod)) * sin( .5 * phi ) );
z4 = c + d*I;
z5 = cpow(z1, .5);
z3 = cpow(z4, 2.0);
printf("The square root of %lf %lfi\n", creal(z1), cimag(z1));
printf("is : %lf %lfi\n", creal(z4), cimag(z4));
printf("using cpow to get the root: %lf %lfi\n", creal(z5), cimag(z5));
printf("using cpow to check the square: %lf %lfi\n", creal(z3),
cimag(z3));
system("PAUSE");
return 0;
}
Am I going to get in trouble with atan as I've got it? LS
Feb 6 '07 #55

"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:jd*********************@bt.com...
Lane Straatman said:
>>
"Tim Prince" <tp*****@nospamcomputer.orgwrote in message
news:kY****************@newssvr23.news.prodigy.ne t...
>>Lane Straatman wrote:
Since we have a bunch of
rationals in C, we have a bunch of transcendentals as the arctan's
of
these numbers. LS
In C, the atan() functions are a bunch of rationals. Ideally, in
certain ranges, with something resembling IEEE754 compliance, the
quality is measurable in ULPS difference between the actual result
and the
mathematically correct one. It looks like you jumped from C to
something else in mid-sentence.
You couldn't be more wrong.

Tim is right - atan() returns a double, and doubles have a finite number
of bits, so they literally *cannot* store irrational numbers. The best
they can do is store the closest rational approximation one can find
within the bits available.
The point is that if you have arctan of a rational then the *next* digit in
its expansion is not something that algebraic methods can get a hold of.
Where Dr. Kelly at the end of chp 24 of _Unleashed_ expands e to a page and
a half then has 99860 , do you have a bet what the next number would be? If
you expand one third for a page and a half, I could get that digit. LS
Feb 6 '07 #56

"Richard Bos" <rl*@hoekstra-uitgeverij.nlwrote in message
news:45*****************@news.xs4all.nl...
"Lane Straatman" <in*****@invalid.netwrote:
>Devcpp doesn't even have tgmath.h .

Of course it doesn't. It's a C89 implementation, not a C99 one.
"It" refers to what? ^^
>
> I copied it out of lcc

Bad idea, as you'd have known if you'd read the FAQ.
It's certainly not jacob's fault that I sniped his header and got errors by
the hundred.
>Is there something about tgmath.h that makes its inclusion here
ill-advised?

<http://c-faq.com/cpp/missinghdr.html>
I've never seen a stdbool.h that differed at all.
--
LS
"Hoekstra" is as common a name as "Jones" here in dutch Michigan. Pete
Hoekstra is the house representative from nearby Holland.
Feb 6 '07 #57
"Lane Straatman" <in*****@invalid.netwrites:
"Richard Bos" <rl*@hoekstra-uitgeverij.nlwrote in message
news:45*****************@news.xs4all.nl...
"Lane Straatman" <in*****@invalid.netwrote:
Devcpp doesn't even have tgmath.h .
Of course it doesn't. It's a C89 implementation, not a C99 one.
"It" refers to what? ^^
Um, devcpp? What else would it refer to?
I copied it out of lcc
Bad idea, as you'd have known if you'd read the FAQ.
It's certainly not jacob's fault that I sniped his header and got errors by
the hundred.
Nobody said it was jacob's fault.
Is there something about tgmath.h that makes its inclusion here
ill-advised?
<http://c-faq.com/cpp/missinghdr.html>
I've never seen a stdbool.h that differed at all.
That differed from what?

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 6 '07 #58
Lane Straatman said:
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:jd*********************@bt.com...
<snip>
>Tim is right - atan() returns a double, and doubles have a finite
number of bits, so they literally *cannot* store irrational numbers.
The best they can do is store the closest rational approximation one
can find within the bits available.
The point is that if you have arctan of a rational then the *next*
digit in its expansion is not something that algebraic methods can get
a hold of. Where Dr. Kelly
Actually, Ian is a very very very clever man, a fine fellow, an
excellent host, a talented musician, a superb programmer, and a quite
astounding linguist, but it has to be said, when all's said and done,
that he's not a doctor. I know the book says he is - at least three
times - but the book is wrong. That's probably my fault, because I
think I just kind of assumed he had a doctorate when I was setting up
the team, and it turns out he hasn't. If ever there were a failure of
the British education system, it is this: that it does not regard Ian
as a doctor. Having said that, I'm now going to stop making a fuss
about it. Instead, I would like to award Ian an honorary doctorate from
the University of Common Sense.
at the end of chp 24 of _Unleashed_ expands e to a page and
a half then has 99860 , do you have a bet what the next number would
be? If you expand one third for a page and a half, I could get that
digit.
Ian's expansion of e, however, was not done via calls to atan(), which
is what Tim Prince was talking about. atan() returns a double, and a
double cannot store an irrational number precisely. A circle can, but a
double can't.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Feb 6 '07 #59

"Richard Heathfield" <rj*@see.sig.invalidwrote in message
Malcolm McLean said:
>>
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
>>>Microsoft have taken away my compiler. I bought a brand new Windows
Vista
machine, installed my copy of Visual Studio and - no executable.

You need Service Pack 7. Admittedly, Visual Studio won't work with that
either (possibly modulo emulators), but you get a perfectly capable C
compiler as part of the bundle. And of course it's completely free.
Seriously?

Er, no. Sorry, Malcolm, I thought you knew - "Service Pack 7" is the
traditional
name for Linux when being recommended as a fix for a Windows-specific
problem.
>I need a Windows library to compile my games and BASICdraw,

You have just discovered that Microsoft aren't all that interested in
supporting
"legacy software" (e.g. their own two-year-old compiler, if your account
is
anything to go by). Have you considered porting your stuff to a more
stable
platform?
They do offer a free compiler. It looks pretty horrid, but at least it
compiled "Hello World" - not without five minutes tweaking to get rid of a
file called stdafx.h it insisted on adding.

Anyway I have registered and agreed not to distribute any programs compiled
with it as open source, etc, etc, etc. I've no real choice. A computer isn't
a computer without a programming environment - it's just a glorified
typewriter.
Feb 6 '07 #60
On 4 Feb, 18:49, rich...@cogsci.ed.ac.uk (Richard Tobin) wrote:
For fun, try 23.140693 ^ i.
For even more fun, try computing i ^ i. Betcha didn't see that
coming!

Glenn

Feb 6 '07 #61
Keith Thompson wrote:
"Lane Straatman" <in*****@invalid.netwrites:
.... snip ...
>
>I've never seen a stdbool.h that differed at all.

That differed from what?
>From any other stdbool.h, I assume. This is probably connected
with the fact that stdbool.h is completely described in N869,
leaving nothing to the imagination. <Append something about female
garments here.>

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>
<http://www.securityfocus.com/columnists/423>

"A man who is right every time is not likely to do very much."
-- Francis Crick, co-discover of DNA
"There is nothing more amazing than stupidity in action."
-- Thomas Matthews
Feb 6 '07 #62

"Glenn Hutchings" <zo*****@googlemail.comwrote in message
news:11*********************@a75g2000cwd.googlegro ups.com...
On 4 Feb, 18:49, rich...@cogsci.ed.ac.uk (Richard Tobin) wrote:
>For fun, try 23.140693 ^ i.

For even more fun, try computing i ^ i. Betcha didn't see that
coming!
We know that it exists as a complex that C can calculate from first
principles. LS
Feb 6 '07 #63

"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:Jf******************************@bt.com...
Lane Straatman said:
>"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:jd*********************@bt.com...
<snip>
>>Tim is right - atan() returns a double, and doubles have a finite
number of bits, so they literally *cannot* store irrational numbers.
The best they can do is store the closest rational approximation one
can find within the bits available.
The point is that if you have arctan of a rational then the *next*
digit in its expansion is not something that algebraic methods can get
a hold of. Where Dr. Kelly

Actually, Ian is a very very very clever man, a fine fellow, an
excellent host, a talented musician, a superb programmer, and a quite
astounding linguist, but it has to be said, when all's said and done,
that he's not a doctor. I know the book says he is - at least three
times - but the book is wrong. That's probably my fault, because I
think I just kind of assumed he had a doctorate when I was setting up
the team, and it turns out he hasn't. If ever there were a failure of
the British education system, it is this: that it does not regard Ian
as a doctor. Having said that, I'm now going to stop making a fuss
about it. Instead, I would like to award Ian an honorary doctorate from
the University of Common Sense.
ABD is a common affliction in the US (All But Disseration). If you make it
sound really serious,
>
>at the end of chp 24 of _Unleashed_ expands e to a page and
a half then has 99860 , do you have a bet what the next number would
be? If you expand one third for a page and a half, I could get that
digit.

Ian's expansion of e, however, was not done via calls to atan(), which
is what Tim Prince was talking about. atan() returns a double, and a
double cannot store an irrational number precisely. A circle can, but a
double can't.
You can re-topologize and get a line from whatever circle you created* **, a
line in which, you claim, "almost all" numbers are absent. If you think
almost all numbers are absent in C's ability to work with, say, the segment
[-1.01, -.99], you're a different kind of cat than I.

Do you honestly believe that 42 * arctan(1.0) is in Q?
--
LS
*with the same set-theoretic properties
**give or take a point with Riemannian steriographic projection
Feb 6 '07 #64

"CBFalconer" <cb********@yahoo.comwrote in message
news:45***************@yahoo.com...
Keith Thompson wrote:
>"Lane Straatman" <in*****@invalid.netwrites:
... snip ...
>>
>>I've never seen a stdbool.h that differed at all.
I meant to differ from itself. Another example of this is iso646.h .
>>
That differed from what?
>>From any other stdbool.h, I assume. This is probably connected
with the fact that stdbool.h is completely described in N869,
leaving nothing to the imagination. <Append something about female
garments here.>
Carla left her purse.
The heel on Jenn's boot was 4 inches.
Misty was outlaw. LS
Feb 6 '07 #65
CBFalconer <cb********@yahoo.comwrites:
Keith Thompson wrote:
"Lane Straatman" <in*****@invalid.netwrites:
... snip ...
I've never seen a stdbool.h that differed at all.
That differed from what?
From any other stdbool.h, I assume. This is probably connected
with the fact that stdbool.h is completely described in N869,
leaving nothing to the imagination. <Append something about female
garments here.>
The standard completely describes the visible declarations, but not
the whole file. For example, the version provided on one Linux system
I use has a large comment block, include guards using the symbol
"_STDBOOL_H", and a test for __cplusplus (supporting <stdbool.hin
C++ is a gcc extension).

But it's true that copying <stdbool.hfrom one implementation to
another is less likely to cause problems than most other predefined
headers.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 6 '07 #66
"Lane Straatman" <in*****@invalid.netwrites:
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:Jf******************************@bt.com...
[...]
Ian's expansion of e, however, was not done via calls to atan(), which
is what Tim Prince was talking about. atan() returns a double, and a
double cannot store an irrational number precisely. A circle can, but a
double can't.
You can re-topologize and get a line from whatever circle you created* **, a
line in which, you claim, "almost all" numbers are absent. If you think
almost all numbers are absent in C's ability to work with, say, the segment
[-1.01, -.99], you're a different kind of cat than I.
Different in that he knows what he's talking about.

A double is typically 64 bits. That means it can represent at most
2**64 distinct values. Some small subset of those values will be in
the range [-1.01, -.99], a range that includes infinitely many real
numbers. Yes, almost all numbers are absent in C's ability to work
with, say, the segment [-1.01, -.99].
Do you honestly believe that 42 * arctan(1.0) is in Q?
Q is the set of rational numbers, yes? (Please don't assume everone
here is familiar with that particular mathematical notation.)

If by "42 * arctan(1.0)" you mean the result of the mathematical
formula over real numbers, then no, the result is not rational; in
fact, it's trancendental (10.5 * pi).

If instead you're referring to the result of the C expression
"42 * atan(1.0)" (the function declared in <math.his "atan", not
"arctan"), then yes, that result is rational. It is a value of type
double, which is a floating-point type whose representation is a
finite number of bits. It can *only* represent rational numbers. In
fact, it can only represent a tiny subset of the rational numbers.
(In a typical implementation, all representable numbers are integer
multiples of a power of 2.)

C floating-point types cannot represent irrational numbers. They are
not mathematical real numbers; they are only a discrete approximation,
good enough for many purposes.

You might want to look up Goldberg's "What Every Computer Scientist
Should Know About Floating-Point Arithmetic".

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 6 '07 #67
Malcolm McLean said:

<snip>
[MS] do offer a free compiler. It looks pretty horrid, but at least it
compiled "Hello World" - not without five minutes tweaking to get rid
of a file called stdafx.h it insisted on adding.

Anyway I have registered and agreed not to distribute any programs
compiled with it as open source, etc, etc, etc. I've no real choice.
Yes, you do. Your original problem - software you purchased failing to
run on your new machine - was caused by Microsoft. Your fix, supplied
by Microsoft, is unsatisfactorily restrictive. You have no reasonable
assurance that Microsoft isn't going to cause you even more problems in
the future. It seems to me that the obvious thing to do is knock
Microsoft out of the loop, even if that means spending some time
porting your stuff to a more sensible platform.
A computer isn't a computer without a programming environment - it's
just a glorified typewriter.
A compiler whose licence agreement requires you not to allow your users
access to source code is not a compiler - it's a prison.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Feb 6 '07 #68
Lane Straatman said:
>
If you
think almost all numbers are absent in C's ability to work with, say,
the segment
[-1.01, -.99], you're a different kind of cat than I.
Miaow. C programs are capable of representing almost none of the numbers
in the that range.
Do you honestly believe that 42 * arctan(1.0) is in Q?
If you mean 42 * atan(1.0), then yes, I do.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Feb 6 '07 #69
Malcolm McLean wrote:
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
<snip>
You have just discovered that Microsoft aren't all that interested in
supporting "legacy software" (e.g. their own two-year-old compiler, if your account
is anything to go by). Have you considered porting your stuff to a more
stable platform?
They do offer a free compiler. It looks pretty horrid, but at least it
compiled "Hello World" - not without five minutes tweaking to get rid of a
file called stdafx.h it insisted on adding.

Anyway I have registered and agreed not to distribute any programs compiled
with it as open source, etc, etc, etc. I've no real choice. A computer isn't
a computer without a programming environment - it's just a glorified
typewriter.
Why don't you purchase a copy of Visual Studio (TM)? Then you can
distribute your applications with source.

Feb 6 '07 #70
On 6 Feb, 09:37, "Lane Straatman" <inva...@invalid.netwrote:
"Glenn Hutchings" <zond...@googlemail.comwrote in message
For even more fun, try computing i ^ i. Betcha didn't see that
coming!

We know that it exists as a complex that C can calculate from first
principles. LS
Well duh. But my point is, what do you think the answer will be?

Glenn

Feb 6 '07 #71
santosh said:
Malcolm McLean wrote:
>"Richard Heathfield" <rj*@see.sig.invalidwrote in message
<snip>
You have just discovered that Microsoft aren't all that interested
in supporting "legacy software" (e.g. their own two-year-old
compiler, if your account is anything to go by). Have you
considered porting your stuff to a more stable platform?
They do offer a free compiler. It looks pretty horrid, but at least
it compiled "Hello World" - not without five minutes tweaking to get
rid of a file called stdafx.h it insisted on adding.

Anyway I have registered and agreed not to distribute any programs
compiled with it as open source, etc, etc, etc. I've no real choice.
A computer isn't a computer without a programming environment - it's
just a glorified typewriter.

Why don't you purchase a copy of Visual Studio (TM)? Then you can
distribute your applications with source.
Let's get this straight. He spent money on a Microsoft product (Visual
C++). He then spent some more money on another Microsoft product
(Vista), as a result of which his first product stopped working. Are
you really suggesting that he gives *even more* money to Microsoft, to
get back the functionality that he has *already paid for*?

Have you ever heard of the expression "throwing good money after bad"?

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Feb 6 '07 #72
Malcolm McLean wrote:
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
Malcolm McLean said:
>
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
Microsoft have taken away my compiler. I bought a brand new Windows
Vista
machine, installed my copy of Visual Studio and - no executable.

You need Service Pack 7. Admittedly, Visual Studio won't work with that
either (possibly modulo emulators), but you get a perfectly capable C
compiler as part of the bundle. And of course it's completely free.

Seriously?
Er, no. Sorry, Malcolm, I thought you knew - "Service Pack 7" is the
traditional
name for Linux when being recommended as a fix for a Windows-specific
problem.
I need a Windows library to compile my games and BASICdraw,
You have just discovered that Microsoft aren't all that interested in
supporting
"legacy software" (e.g. their own two-year-old compiler, if your account
is
anything to go by). Have you considered porting your stuff to a more
stable
platform?
They do offer a free compiler. It looks pretty horrid, but at least it
compiled "Hello World" - not without five minutes tweaking to get rid of a
file called stdafx.h it insisted on adding.

Anyway I have registered and agreed not to distribute any programs compiled
with it as open source, etc, etc, etc. I've no real choice. A computer isn't
a computer without a programming environment - it's just a glorified
typewriter.
Is mingw working on Vista? I've had no problems with using it on
various older Windows versions, it's free, and you can distribute open
source and other software compiled with it.

Feb 6 '07 #73
"Malcolm McLean" <re*******@btinternet.comwrites:
[...]
Anyway I have registered and agreed not to distribute any programs compiled
with it as open source, etc, etc, etc. I've no real choice. A computer isn't
a computer without a programming environment - it's just a glorified
typewriter.
Do they *really* require you to agree to that? How can they enforce a
restriction like that? If you distribute your own source code, how
can the fact that you've fed it to their compiler affect your rights?
I suspect the situation isn't that simple.

You can always install Cygwin, which includes gcc (I'm not sure how
much support it has for Windows-specific programming, though).

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 6 '07 #74

"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:nc******************************@bt.com...
santosh said:
>Malcolm McLean wrote:
>>"Richard Heathfield" <rj*@see.sig.invalidwrote in message
<snip>
>You have just discovered that Microsoft aren't all that interested
in supporting "legacy software" (e.g. their own two-year-old
compiler, if your account is anything to go by). Have you
considered porting your stuff to a more stable platform?

They do offer a free compiler. It looks pretty horrid, but at least
it compiled "Hello World" - not without five minutes tweaking to get
rid of a file called stdafx.h it insisted on adding.
You asked it to do that.
>>Anyway I have registered and agreed not to distribute any programs
compiled with it as open source, etc, etc, etc. I've no real choice.
A computer isn't a computer without a programming environment - it's
just a glorified typewriter.

Why don't you purchase a copy of Visual Studio (TM)? Then you can
distribute your applications with source.

Let's get this straight. He spent money on a Microsoft product (Visual
C++). He then spent some more money on another Microsoft product
(Vista), as a result of which his first product stopped working. Are
you really suggesting that he gives *even more* money to Microsoft, to
get back the functionality that he has *already paid for*?

Have you ever heard of the expression "throwing good money after bad"?
The money I spent to buy MVC++4 I saved from my mouth. I'm just now
retiring it after -I dunno-a decade? of service. He has no business near a
keyboard if he doesn't know how to uninstall and reinstall. And if the
registry's forked then deltree C: and move on with a re-install that every
prudent user marks well for himself. Twenty bucks a year was good money for
me. I think spending any money on a computer for this guy is bad money. He
has no real choice about distributing software, as he lacks the ability to
manipulate the dominant OS. LS
Feb 7 '07 #75
In article <11**********************@l53g2000cwa.googlegroups .com"Glenn Hutchings" <zo*****@googlemail.comwrites:
On 6 Feb, 09:37, "Lane Straatman" <inva...@invalid.netwrote:
"Glenn Hutchings" <zond...@googlemail.comwrote in message
For even more fun, try computing i ^ i. Betcha didn't see that
coming!
We know that it exists as a complex that C can calculate from first
principles. LS

Well duh. But my point is, what do you think the answer will be?
An interesting first question is: is it real, imaginary or neither.
--
dik t. winter, cwi, kruislaan 413, 1098 sj amsterdam, nederland, +31205924131
home: bovenover 215, 1025 jn amsterdam, nederland; http://www.cwi.nl/~dik/
Feb 7 '07 #76

"Glenn Hutchings" <zo*****@googlemail.comwrote in message
news:11**********************@l53g2000cwa.googlegr oups.com...
On 6 Feb, 09:37, "Lane Straatman" <inva...@invalid.netwrote:
>"Glenn Hutchings" <zond...@googlemail.comwrote in message
For even more fun, try computing i ^ i. Betcha didn't see that
coming!

We know that it exists as a complex that C can calculate from first
principles. LS

Well duh. But my point is, what do you think the answer will be?
#include <stdio.h>
#include <complex.h>
int main() {
long double complex z1;
z1= I;
z1 = cpow(z1, z1);
printf("%lf %lf ", z1);
return 0;}
--
LS
Feb 7 '07 #77

"Glenn Hutchings" <zo*****@googlemail.comwrote in message
news:11*********************@a75g2000cwd.googlegro ups.com...
On 4 Feb, 18:49, rich...@cogsci.ed.ac.uk (Richard Tobin) wrote:
>For fun, try 23.140693 ^ i.

For even more fun, try computing i ^ i. Betcha didn't see that
coming!
I stated in this thread that I wanted to take e to the i pi and get as close
as I could with it using pre-defined types. I think i^i better suits this
purpose. LS
Feb 7 '07 #78
Lane Straatman wrote:
>
.... snip ...
>
I think spending any money on a computer for this guy is bad money.
He has no real choice about distributing software, as he lacks the
ability to manipulate the dominant OS.
Dominant? The cockroach population of NYC exceeds the human
population. Does that make them dominant?

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>
<http://www.securityfocus.com/columnists/423>

"A man who is right every time is not likely to do very much."
-- Francis Crick, co-discover of DNA
"There is nothing more amazing than stupidity in action."
-- Thomas Matthews
Feb 7 '07 #79
"Lane Straatman" <in*****@invalid.netwrites:
"Glenn Hutchings" <zo*****@googlemail.comwrote in message
news:11**********************@l53g2000cwa.googlegr oups.com...
>On 6 Feb, 09:37, "Lane Straatman" <inva...@invalid.netwrote:
>>"Glenn Hutchings" <zond...@googlemail.comwrote in message
For even more fun, try computing i ^ i. Betcha didn't see that
coming!

We know that it exists as a complex that C can calculate from first
principles. LS

Well duh. But my point is, what do you think the answer will be?
#include <stdio.h>
#include <complex.h>
int main() {
long double complex z1;
z1= I;
z1 = cpow(z1, z1);
printf("%lf %lf ", z1);
return 0;}
The "%lf" format specifier is invalid. The format for double is "%f";
the format for long double is "%Lf". Some implementations may support
"%lf" as an extension.

The "%Lf" format specifier requires an argument of type long double;
two such specifiers don't magically consume a single argument of type
long double complex. (I think I've mentioned this to you before.)

Even for a short program, *please* indent your code properly; it makes
it much easier to read.

Here's a corrected and simplified version of your program:

#include <stdio.h>
#include <complex.h>
int main(void)
{
const long double complex z1 = cpowl(I, I);
printf("%Lf %Lf\n", creall(z1), cimagl(z1));
return 0;
}

and its output:

0.207880 0.000000

You can get more digits by tweaking the format specifiers.

Apparently i^i (where i is the imaginary square root of -1 and "^"
denotes exponentiation) is a real number. I'm sure there's a simple
mathematical proof of this, but I'm too lazy to track it down or
reconstruct it.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 7 '07 #80
"Lane Straatman" <in*****@invalid.netwrites:
"Glenn Hutchings" <zo*****@googlemail.comwrote in message
news:11*********************@a75g2000cwd.googlegro ups.com...
>On 4 Feb, 18:49, rich...@cogsci.ed.ac.uk (Richard Tobin) wrote:
>>For fun, try 23.140693 ^ i.

For even more fun, try computing i ^ i. Betcha didn't see that
coming!
I stated in this thread that I wanted to take e to the i pi and get as close
as I could with it using pre-defined types. I think i^i better suits this
purpose. LS
That makes no sense. e^(i*pi) is -1; i^i is a completely different
real value, approximately 0.20788. I won't waste my time trying to
figure out what you really meant.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 7 '07 #81
In article <ln************@nuthaus.mib.org>,
Keith Thompson <ks***@mib.orgwrote:

[Snip everything C-related]
>Apparently i^i (where i is the imaginary square root of -1 and "^"
denotes exponentiation) is a real number. I'm sure there's a simple
mathematical proof of this, but I'm too lazy to track it down or
reconstruct it.
Note that e^(i*pi/2) = i (this follows from the theorem that says
e^(i*x)=cos x + i*sin x). This tells us that ln(i) = i*pi/2.

So:
i = e^(ln i)
i^i = (e^(ln i))^i
= e^(ln i * i)

Completing the proof is left as an exercise for the reader.
dave

--
Dave Vandervies dj******@csclub.uwaterloo.ca
I wonder if it has something to do with being able to accurately handle
an excruciating amount of detail without checking yourself into a mental
institution. --Logan Shaw in the scary devil monastery
Feb 7 '07 #82

"CBFalconer" <cb********@yahoo.comwrote in message
news:45***************@yahoo.com...
Lane Straatman wrote:
>>
... snip ...
>>
I think spending any money on a computer for this guy is bad money.
He has no real choice about distributing software, as he lacks the
ability to manipulate the dominant OS.

Dominant? The cockroach population of NYC exceeds the human
population. Does that make them dominant?
Sitting here as I do on Martin Luther King blvd., you need to know that the
only answer I have to that is *yes.* LS
Feb 7 '07 #83

"Dave Vandervies" <dj******@caffeine.csclub.uwaterloo.cawrote in message
news:eq**********@rumours.uwaterloo.ca...
In article <ln************@nuthaus.mib.org>,
Keith Thompson <ks***@mib.orgwrote:

[Snip everything C-related]
>>Apparently i^i (where i is the imaginary square root of -1 and "^"
denotes exponentiation) is a real number. I'm sure there's a simple
mathematical proof of this, but I'm too lazy to track it down or
reconstruct it.

Note that e^(i*pi/2) = i (this follows from the theorem that says
e^(i*x)=cos x + i*sin x). This tells us that ln(i) = i*pi/2.

So:
i = e^(ln i)
i^i = (e^(ln i))^i
= e^(ln i * i)

Completing the proof is left as an exercise for the reader.
That's a nice touch. LS
Feb 7 '07 #84
Keith Thompson said:
"Lane Straatman" <in*****@invalid.netwrites:
<snip>
>z1 = cpow(z1, z1);
printf("%lf %lf ", z1);
return 0;}

The "%lf" format specifier is invalid.
Tiny nit time. That is not true in C99, which the above program clearly
must be. See 7.19.6.1(7): "l (ell) [...] has no effect on a following
a, A, e, E, f, F, g, or G conversion specifier."

So "%lf" is equivalent to "%f". So that has nothing to do with his bug
(which, as you noted elsewhere, is probably more to do with the fact
that he has two format specifiers but only one datum, and that being of
the wrong type!).

<snip>

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Feb 7 '07 #85
"Keith Thompson" <ks***@mib.orgwrote in message
"Malcolm McLean" <re*******@btinternet.comwrites:
[...]
>Anyway I have registered and agreed not to distribute any programs
compiled
with it as open source, etc, etc, etc. I've no real choice. A computer
isn't
a computer without a programming environment - it's just a glorified
typewriter.

Do they *really* require you to agree to that? How can they enforce a
restriction like that? If you distribute your own source code, how
can the fact that you've fed it to their compiler affect your rights?
I suspect the situation isn't that simple.

You can always install Cygwin, which includes gcc (I'm not sure how
much support it has for Windows-specific programming, though).
I think actually the open source restriction applies to anything based on
their samples.
Since the API is so intricate the only sensible way to to take a working
program and modify it, this could be very broad. They are obviously scared
of GNU.

I didn't read the agreement very carefully. I doubt the thing has any legal
force because you are logging into a computer, not signing a binding
contract.

The saga continues. I installed the free C compiler. It compiles "hello
world". But it won't do a Windows program. I didn't buy Vista for its
command shell capabilities, so I download the SDK. Fair enough. The compiler
won't recognise it. After about two hour rooting about on the web, I find a
Microsoft page telling me how to edit various configuration files to get it
to work - two of them, plus paths. Meanwhile the OS merrily throws threats
at every edit. Of course I make a typing mistake. At 1.00 in the morning, I
finally get a "Hello World" - in C++, I haven't figiured out how to get C
mode yet.

I am a programmer not a hacker. Some people might see this as an interesting
challenge. Personally I just see it as a total nuisance which takes times
from what I should be doing, like adding subroutines to BASICdraw. Two days
wasted. This sort of thing is often rationalised as "teething troubles". In
fact it is a constant situation. At work I am struggling with two new
programming environments - R and a new Lisp compiler. In computing, you are
very frequently using software for the first time.
Feb 7 '07 #86
Richard Heathfield <rj*@see.sig.invalidwrites:
Keith Thompson said:
>"Lane Straatman" <in*****@invalid.netwrites:

<snip>
>>z1 = cpow(z1, z1);
printf("%lf %lf ", z1);
return 0;}

The "%lf" format specifier is invalid.

Tiny nit time. That is not true in C99, which the above program clearly
must be. See 7.19.6.1(7): "l (ell) [...] has no effect on a following
a, A, e, E, f, F, g, or G conversion specifier."
You're right, I missed that.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 7 '07 #87

"Dave Vandervies" <dj******@caffeine.csclub.uwaterloo.cawrote in message
>
So:
i = e^(ln i)
i^i = (e^(ln i))^i
= e^(ln i * i)
Wow.That's clever.
Note that e^(i*pi/2) = i (this follows from the theorem that says
e^(i*x)=cos x + i*sin x). This tells us that ln(i) = i*pi/2.
Can't say this bit about e^(i*x) = cos x + i * sin x is too convincing
though. Do you think he's trying to pull a fast one on us?
Feb 7 '07 #88
In article <ln************@nuthaus.mib.org>,
Keith Thompson <ks***@mib.orgwrote:
>Apparently i^i (where i is the imaginary square root of -1 and "^"
denotes exponentiation) is a real number. I'm sure there's a simple
mathematical proof of this, but I'm too lazy to track it down or
reconstruct it.
It's exp(-pi/2). Someone else showed the proof, but you can just type
"i^i" into Google to see the numerical value.

-- Richard

--
"Consideration shall be given to the need for as many as 32 characters
in some alphabets" - X3.4, 1963.
Feb 7 '07 #89
In article <eL******************************@bt.com>,
Malcolm McLean <re*******@btinternet.comwrote:
>Can't say this bit about e^(i*x) = cos x + i * sin x is too convincing
though.
Consider the polynomial expansion e^x = 1 + x + x^2/2! + x^3/3! + ...

-- Richard
--
"Consideration shall be given to the need for as many as 32 characters
in some alphabets" - X3.4, 1963.
Feb 7 '07 #90
Dave Vandervies writes:
Note that e^(i*pi/2) = i (this follows from the theorem that says
e^(i*x)=cos x + i*sin x).
It also follows from e^(i*pi) + 1 = 0: e^(i*pi)^(1/2) = (-1)^(1/2).
This tells us that ln(i) = i*pi/2.
So:
i = e^(ln i)
i^i = (e^(ln i))^i
= e^(ln i * i)
--
Hallvard
Feb 7 '07 #91

"Richard Tobin" <ri*****@cogsci.ed.ac.ukwrote in message
news:eq***********@pc-news.cogsci.ed.ac.uk...
In article <ln************@nuthaus.mib.org>,
Keith Thompson <ks***@mib.orgwrote:
>>Apparently i^i (where i is the imaginary square root of -1 and "^"
denotes exponentiation) is a real number. I'm sure there's a simple
mathematical proof of this, but I'm too lazy to track it down or
reconstruct it.

It's exp(-pi/2). Someone else showed the proof, but you can just type
"i^i" into Google to see the numerical value.
http://www.billfordx.net/screendumps/cstuff_7.htm

Clearly, this latest version is off. Heathfield says I have two specifiers
for one datum. Is it not a datum with a real and a complex part, both of
which need attention in the conversion specifiers?

How many decimal places can we squeeze from a long double? LS
Feb 7 '07 #92
In article <g7******************************@comcast.com>,
Lane Straatman <in*****@invalid.netwrote:
>How many decimal places can we squeeze from a long double? LS
C99 defines minimums for that, but not maximums -- an implementation
could in theory have a long double that was a kilobyte long (or more.)
--
Prototypes are supertypes of their clones. -- maplesoft
Feb 7 '07 #93

"Walter Roberson" <ro******@ibd.nrc-cnrc.gc.cawrote in message
news:eq**********@canopus.cc.umanitoba.ca...
In article <g7******************************@comcast.com>,
Lane Straatman <in*****@invalid.netwrote:
>>How many decimal places can we squeeze from a long double? LS

C99 defines minimums for that, but not maximums -- an implementation
could in theory have a long double that was a kilobyte long (or more.)
Right, what is the minimum maximum? LS
--
Prototypes are supertypes of their clones. -- maplesoft

Feb 7 '07 #94
In article <cO******************************@comcast.com>,
Lane Straatman <in*****@invalid.netwrote:
>In article <g7******************************@comcast.com>,
Lane Straatman <in*****@invalid.netwrote:
>>>How many decimal places can we squeeze from a long double? LS
>Right, what is the minimum maximum? LS
Looks like 31 significant digits.

http://64.233.167.104/search?q=cache...t_datatype.htm

Hmmm, odd representation method...

A 128-bit long double number consists of an ordered pair of 64-bit
double-precision numbers. The first member of the ordered pair contains
the high-order part of the number, and the second member contains the
low-order part. The value of the long double quantity is the sum of the
two 64-bit numbers.

Is that the standard mechanism??
--
All is vanity. -- Ecclesiastes
Feb 7 '07 #95

"Lane Straatman" <in*****@invalid.netwrote in message
news:12*************@corp.supernews.com...
"Lane Straatman" <in*****@invalid.netwrote in message
Am I going to get in trouble with atan as I've got it? LS
de.sci.mathematik identified a possible division by zero and a fix:

#include <stdio.h>
#include <stdlib.h>
#include <complex.h>
#include <math.h>
int main(void)
{
long double complex z1, z3, z4, z5;
long double mod, phi, a, b, c, d;
z1 = .4 + .7I;
a = creal(z1);
b = cimag(z1);
// mod = sqrt(pow(a, 2) + pow(b, 2));
mod = cabs(z1);
// phi = atan(b/a);
phi = carg(z1);
c = ( (sqrt(mod)) * cos( .5 * phi ) );
d = ( (sqrt(mod)) * sin( .5 * phi ) );
z4 = c + d*I;
z5 = cpow(z1, .5);
z3 = cpow(z4, 2.0);
printf("The square root of %lf %lfi\n", creal(z1), cimag(z1));
printf("is : %lf %lfi\n", creal(z4), cimag(z4));
printf("using cpow to get the root: %15lf %15lfi\n", creal(z5),
cimag(z5));
printf("using cpow to check the square: %lf %lfi\n", creal(z3),
cimag(z3));
system("PAUSE");
return 0;
}
/*
Lane Straatman wrote:
Es wird zwar leicht OT, aber seisdrum:
double complex z1, z3, z4, z5;
double mod, phi, a, b, c, d;
a = creal(z1);
b = cimag(z1);
mod = sqrt(pow(a, 2) + pow(b, 2));
mod = cabs(z1);
phi = atan(b/a);
phi = carg(z1);
(Erschlägt auch das Quadranten- und DIV0-Problem.)
system("PAUSE");
Nett.

Viele Grüße
Steffen
*/
Is six digits all I'm going to get out of a long double? LS
Feb 7 '07 #96
Richard Heathfield wrote:
santosh said:
Malcolm McLean wrote:
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
<snip>
You have just discovered that Microsoft aren't all that interested
in supporting "legacy software" (e.g. their own two-year-old
compiler, if your account is anything to go by). Have you
considered porting your stuff to a more stable platform?

They do offer a free compiler. It looks pretty horrid, but at least
it compiled "Hello World" - not without five minutes tweaking to get
rid of a file called stdafx.h it insisted on adding.

Anyway I have registered and agreed not to distribute any programs
compiled with it as open source, etc, etc, etc. I've no real choice.
A computer isn't a computer without a programming environment - it's
just a glorified typewriter.
Why don't you purchase a copy of Visual Studio (TM)? Then you can
distribute your applications with source.

Let's get this straight. He spent money on a Microsoft product (Visual
C++). He then spent some more money on another Microsoft product
(Vista), as a result of which his first product stopped working. Are
you really suggesting that he gives *even more* money to Microsoft, to
get back the functionality that he has *already paid for*?

Have you ever heard of the expression "throwing good money after bad"?
Okay, I thought he used the freely available Visual C++ Express
Edition, which, I think, prohibits commercial use. If he did buy a
full fleged version of Visual Studio and it's now broken by upgrade to
Vista, then that's indeed a shame. MS does recommend a clean install
instead of an upgrade.

Well, seeing as he's unwilling to move to a better platform, I guess
he has little choice but to reinstall the Latest and Greatest version
of Visual Studio. It was an advice specific to the context. Generally,
I'm not a fan of Microsoft's products, primarily because of their
inflated pricing and general elitism. I haven't used a Windows version
in two years. However some people are tied to it, for one reason or
another and simply telling them to move to Linux, or whatever, doesn't
work.

The bigger question is why Malcolm doesn't use a free development
system like MinGW. Combined with the Platform SDK, you can do nearly
everything with it, that you'd do with MSVC++.

Feb 7 '07 #97
CBFalconer wrote:
Lane Straatman wrote:
... snip ...

I think spending any money on a computer for this guy is bad money.
He has no real choice about distributing software, as he lacks the
ability to manipulate the dominant OS.

Dominant? The cockroach population of NYC exceeds the human
population. Does that make them dominant?
Numerically they are. There're many possible definitions of dominant.
Such decisions are usually subjective and hence not authoritative.

Feb 7 '07 #98
Malcolm McLean wrote:
"Keith Thompson" <ks***@mib.orgwrote in message
"Malcolm McLean" <re*******@btinternet.comwrites:
[...]
Anyway I have registered and agreed not to distribute any programs
compiled
with it as open source, etc, etc, etc. I've no real choice. A computer
isn't
a computer without a programming environment - it's just a glorified
typewriter.
Do they *really* require you to agree to that? How can they enforce a
restriction like that? If you distribute your own source code, how
can the fact that you've fed it to their compiler affect your rights?
I suspect the situation isn't that simple.

You can always install Cygwin, which includes gcc (I'm not sure how
much support it has for Windows-specific programming, though).
I think actually the open source restriction applies to anything based on
their samples.
Since the API is so intricate the only sensible way to to take a working
program and modify it, this could be very broad. They are obviously scared
of GNU.

I didn't read the agreement very carefully. I doubt the thing has any legal
force because you are logging into a computer, not signing a binding
contract.

The saga continues. I installed the free C compiler. It compiles "hello
world". But it won't do a Windows program. I didn't buy Vista for its
command shell capabilities, so I download the SDK. Fair enough. The compiler
won't recognise it. After about two hour rooting about on the web, I find a
Microsoft page telling me how to edit various configuration files to get it
to work - two of them, plus paths. Meanwhile the OS merrily throws threats
at every edit. Of course I make a typing mistake. At 1.00 in the morning, I
finally get a "Hello World" - in C++, I haven't figiured out how to get C
mode yet.

I am a programmer not a hacker. Some people might see this as an interesting
challenge. Personally I just see it as a total nuisance which takes times
from what I should be doing, like adding subroutines to BASICdraw. Two days
wasted. This sort of thing is often rationalised as "teething troubles". In
fact it is a constant situation. At work I am struggling with two new
programming environments - R and a new Lisp compiler. In computing, you are
very frequently using software for the first time.
Yes.

Tools are now so complex that they tend to create more problems than
they purport to solve. These problems are typically solved by yet more
tools and the vicious cycle continues, feeding the growth of software
engineering and quality assurance.

Standard C is a breath of fresh air in all this quagmire of complexity.

Feb 7 '07 #99

"santosh" <sa*********@gmail.comwrote in message
news:11**********************@l53g2000cwa.googlegr oups.com...
Richard Heathfield wrote:
>santosh said:
Malcolm McLean wrote:
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
<snip>

You have just discovered that Microsoft aren't all that interested
in supporting "legacy software" (e.g. their own two-year-old
compiler, if your account is anything to go by). Have you
considered porting your stuff to a more stable platform?

They do offer a free compiler. It looks pretty horrid, but at least
it compiled "Hello World" - not without five minutes tweaking to get
rid of a file called stdafx.h it insisted on adding.
It looks slick as all get out. Looks don't count for much though. I can't
find a run button or pull-down and don't want to have to step outside the
IDE to run the executable:
http://www.billfordx.net/screendumps/cstuff_8.htm
>Anyway I have registered and agreed not to distribute any programs
compiled with it as open source, etc, etc, etc. I've no real choice.
A computer isn't a computer without a programming environment - it's
just a glorified typewriter.

Why don't you purchase a copy of Visual Studio (TM)? Then you can
distribute your applications with source.

Let's get this straight. He spent money on a Microsoft product (Visual
C++). He then spent some more money on another Microsoft product
(Vista), as a result of which his first product stopped working. Are
you really suggesting that he gives *even more* money to Microsoft, to
get back the functionality that he has *already paid for*?

Have you ever heard of the expression "throwing good money after bad"?

Okay, I thought he used the freely available Visual C++ Express
Edition, which, I think, prohibits commercial use. If he did buy a
full fleged version of Visual Studio and it's now broken by upgrade to
Vista, then that's indeed a shame. MS does recommend a clean install
instead of an upgrade.
MS thought that it was fiscally irresponsible to do otherwise. I would try
to use the word "fiduciary" in a sentence with "stockholders," but Eric
Sosman is just waiting to zing me again.
Well, seeing as he's unwilling to move to a better platform, I guess
he has little choice but to reinstall the Latest and Greatest version
of Visual Studio. It was an advice specific to the context. Generally,
I'm not a fan of Microsoft's products, primarily because of their
inflated pricing and general elitism. I haven't used a Windows version
in two years. However some people are tied to it, for one reason or
another and simply telling them to move to Linux, or whatever, doesn't
work.
A person needs to ante up if he wants to get into dotnet.
The bigger question is why Malcolm doesn't use a free development
system like MinGW. Combined with the Platform SDK, you can do nearly
everything with it, that you'd do with MSVC++.
I've had a very good experience this last week with Devcpp. Up and running
immediately. I'll post the above link in an ng with MS in the name and see
what comes. LS
Feb 7 '07 #100

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: William C. White | last post by:
Does anyone know of a way to use PHP /w Authorize.net AIM without using cURL? Our website is hosted on a shared drive and the webhost company doesn't installed additional software (such as cURL)...
2
by: Albert Ahtenberg | last post by:
Hello, I don't know if it is only me but I was sure that header("Location:url") redirects the browser instantly to URL, or at least stops the execution of the code. But appearantely it continues...
3
by: James | last post by:
Hi, I have a form with 2 fields. 'A' 'B' The user completes one of the fields and the form is submitted. On the results page I want to run a query, but this will change subject to which...
0
by: Ollivier Robert | last post by:
Hello, I'm trying to link PHP with Oracle 9.2.0/OCI8 with gcc 3.2.3 on a Solaris9 system. The link succeeds but everytime I try to run php, I get a SEGV from inside the libcnltsh.so library. ...
1
by: Richard Galli | last post by:
I want viewers to compare state laws on a single subject. Imagine a three-column table with a drop-down box on the top. A viewer selects a state from the list, and that state's text fills the...
4
by: Albert Ahtenberg | last post by:
Hello, I have two questions. 1. When the user presses the back button and returns to a form he filled the form is reseted. How do I leave there the values he inserted? 2. When the...
1
by: inderjit S Gabrie | last post by:
Hi all Here is the scenerio ...is it possibly to do this... i am getting valid course dates output on to a web which i have designed ....all is okay so far , look at the following web url ...
2
by: Jack | last post by:
Hi All, What is the PHP equivilent of Oracle bind variables in a SQL statement, e.g. select x from y where z=:parameter Which in asp/jsp would be followed by some statements to bind a value...
3
by: Sandwick | last post by:
I am trying to change the size of a drawing so they are all 3x3. the script below is what i was trying to use to cut it in half ... I get errors. I can display the normal picture but not the...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.