473,503 Members | 10,012 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Need help optimizing....

I have a routine that evaluates a polynomial equation that have 3 variables
x,y,z of orders 1,2,3 the coefficients of the polynomial are in an array.
This routine is quite slow and I'd like to optimize it.
Any suggestions?

simply put pts is a vector of
typdef struct
double x;
double y;
double z;
double val;
} vect

xorder, yorder and zorder are the maximum polynomial exponents for an
equation
like val = fn(x,y,z).

void EvaluatePoly(Vector<vect> & pts, int xorder, int yorder, int
zorder)
{
for (int pn=0; pn < pts.length(); ++pn)
{
int cn=0;
for (int k=0; k <= zorder; ++k)
{
float zexp = pow(pts[pn].z, k);
for (int j=0; j <= yorder; ++j)
{
float zyexp = zexp * pow(pts[pn].y, j);
for (int i=0; i <= xorder; ++i)
{
pts[pn].val = c[cn++] * pow(pts[pn].x, i) * zyexp;
}
}
}
}
}
Jul 19 '05 #1
16 2237
JustSomeGuy wrote:
<snip>

Why did you cross-post this to several groups? Massive cross-posting is
very bad. I don't know the topics of all the groups, but I very much
doubt your question is topical in all of them.

If you feel the need to cross post to 2 or 3 groups, stop and think very
carefully about whether your message is topical in all of them. If you
feel the need to cross post to *more* than 2 or 3 groups, don't.

-Kevin
--
My email address is valid, but changes periodically.
To contact me please use the address from a recent posting.

Jul 19 '05 #2
"JustSomeGuy" <no**@nottelling.com> wrote in message
news:MBtbb.8974$TM4.4494@pd7tw2no...
I have a routine that evaluates a polynomial equation that
have 3 variables x,y,z of orders 1,2,3 the coefficients of the
polynomial are in an array. This routine is quite slow and I'd
like to optimize it. Any suggestions?
[...]


Yes. 1) Don't cross-post to 9 newsgroups. You will almost
certainly receive a number of angry responses, which will
not help you solve your optimization problem (this is a
meta-optimization tip for the next time you have a question).
2) Take a look at Blitz++ and/or the GNU Scientific Library.
While I am not sure either one is totally relevant to your
problem, they might be. But your question is not a C++-
specific question (at least, not the way you framed it).
However, if you try Blitz++, it might become one. My
guess is that comp.programming would have been the
most appropriate group to try first.

Dave
Jul 19 '05 #3

"David B. Held" <dh***@codelogicconsulting.com> wrote in message
news:bk**********@news.astound.net...
"JustSomeGuy" <no**@nottelling.com> wrote in message
news:MBtbb.8974$TM4.4494@pd7tw2no...
I have a routine that evaluates a polynomial equation that
have 3 variables x,y,z of orders 1,2,3 the coefficients of the
polynomial are in an array. This routine is quite slow and I'd
like to optimize it. Any suggestions?
[...]
Yes. 1) Don't cross-post to 9 newsgroups. You will almost
certainly receive a number of angry responses, which will
not help you solve your optimization problem (this is a
meta-optimization tip for the next time you have a question).


People who get 'Angry' in regards to news group posting need to
seek help desperatly. But thanks for the info I will take in the
good spirit.

2) Take a look at Blitz++ and/or the GNU Scientific Library.
While I am not sure either one is totally relevant to your
problem, they might be. But your question is not a C++-
specific question (at least, not the way you framed it).
However, if you try Blitz++, it might become one. My
guess is that comp.programming would have been the
most appropriate group to try first.

Thanks.
B.
Dave

Jul 19 '05 #4
JustSomeGuy wrote:
I have a routine that evaluates a polynomial equation that have 3 variables
x,y,z of orders 1,2,3 the coefficients of the polynomial are in an array.
This routine is quite slow and I'd like to optimize it.
Any suggestions?
Now that you have been significantly chastized for the massive cross
post, comp.lang.c++ is NOT the best NG for numerical stuff.

Not only that, optimization questions not relating to the C++ standard
are off topic in comp.lang.c++.

I'll however give you a few hints.

a) It seems like you may have done SOME profiling but let me state that
YOU REALLY NEED TO PROFILE THE CODE.

b) Let's assume you did some profiling and found that EvaluatePoly is
the culprit. You would have found that pow() was called a large number
of times more than EvaluatePoly.

c) Assuming EvaluatePoly needs to scream, I'd suggest making a small
test harness which allows you to run EvaluatePoly as a stand-alone app
and this will allow you to iterate your changes faster.


simply put pts is a vector of
typdef struct
double x;
double y;
double z;
double val;
} vect

xorder, yorder and zorder are the maximum polynomial exponents for an
equation
like val = fn(x,y,z).

void EvaluatePoly(Vector<vect> & pts, int xorder, int yorder, int
zorder)
{
for (int pn=0; pn < pts.length(); ++pn)
{
int cn=0;
for (int k=0; k <= zorder; ++k)
{
float zexp = pow(pts[pn].z, k); ^^^^^^^^^^^^^^^^^^^^^^^^^ why floats ?
^^^^^^^^^^^^^^^^^^^^^^^^^ why call pow ? These may be computed using
multiplication per iterarion. Significantly fast for (int j=0; j <= yorder; ++j)
{
float zyexp = zexp * pow(pts[pn].y, j); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ why floats ? for (int i=0; i <= xorder; ++i)
{
pts[pn].val = c[cn++] * pow(pts[pn].x, i) * zyexp; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
what is this ? don't you want this to be a sum of all the terms ?
}
}
}
}
}

So, give this a go. Compared to what is above, it should be
significantly faster and it might actually work.

Without knowing the data set, it's kind of hard to know better what you
need.
#include <vector>

typedef struct {
double x;
double y;
double z;
double val;
} vect;
void EvaluatePoly(
std::vector<vect> & pts,
int xorder,
int yorder,
int zorder,
double * c
)
{

std::vector<vect>::iterator p_pts = pts.begin();
std::vector<vect>::iterator pts_end = pts.end();

for (; p_pts != pts_end; ++ p_pts )
{
int cn=0;

double val_x = p_pts->x;
double val_y = p_pts->y;
double val_z = p_pts->z;

double sum = 0;
double pow_z = 1;
for (int k=0; k <= zorder; ++k)
{
double pow_y = pow_z;
for (int j=0; j <= yorder; ++j)
{
double pow_x = pow_y;
for (int i=0; i <= xorder; ++i)
{
sum += c[cn++] * pow_x;

pow_x *= val_x;
}

pow_y *= val_y;
}

pow_z *= val_z;
}

p_pts->val = sum;
}
}

Jul 19 '05 #5
It may be helpful to realize:

a*x^3 + b*x^2 + c*x + d = d + x*(c + b*(x + a*x))

and so on.

I think that's called Horner's rule, and it is a standard trick when
optimizing the evalutaion of polynomials.

--
Try http://csf.colorado.edu/pkt/pktautho.../Bukharin.html
To solve Linear Programs: .../LPSolver.html
r c A game: .../Keynes.html
v s a Whether strength of body or of mind, or wisdom, or
i m p virtue, are found in proportion to the power or wealth
e a e of a man is a question fit perhaps to be discussed by
n e . slaves in the hearing of their masters, but highly
@ r c m unbecoming to reasonable and free men in search of
d o the truth. -- Rousseau
Jul 19 '05 #6
JustSomeGuy wrote:
"David B. Held" <dh***@codelogicconsulting.com> wrote in message
"JustSomeGuy" <no**@nottelling.com> wrote in message
I have a routine that evaluates a polynomial equation that
have 3 variables x,y,z of orders 1,2,3 the coefficients of
the polynomial are in an array. This routine is quite slow
and I'd like to optimize it. Any suggestions?
[...]


Yes. 1) Don't cross-post to 9 newsgroups. You will almost
certainly receive a number of angry responses, which will
not help you solve your optimization problem (this is a
meta-optimization tip for the next time you have a question).


People who get 'Angry' in regards to news group posting need to
seek help desperatly. But thanks for the info I will take in the
good spirit.


Inconsiderate people who do such massive crossposting need the
help. This leads to interminable off-topic threads and
continuous annoyance. Once the original post is made the harm is
done.

Usually any originally cross-posted queries should include a
followup to the single most appropriate newsgroup. That allows a
query to be spread over 3 or 4 groups, without the penalties.
Note that many of the better ISPs simply destroy any messages
crossposted to an excessive extent. If not, the better
newsreaders will automatically reject them. So the whole
business is counter-productive.

--
Replies should be to the newsgroup
Chuck Falconer, on vacation.
Jul 19 '05 #7

"Robert Vienneau" <rv***@see.sig.com> wrote in message
news:rv*************************@news.dreamscape.c om...
It may be helpful to realize:

a*x^3 + b*x^2 + c*x + d = d + x*(c + b*(x + a*x))

and so on.

I think that's called Horner's rule, and it is a standard trick when
optimizing the evalutaion of polynomials.


I think your are right....

horner's rule in c.

n=5, p=c[n];
for (j=n-1; j >=0; j=j-1)
p *= x + c[j];

however I wonder how well, or even if its possible, to do this
with and equation with 3 variables, as in my example?

check this out.
http://www.dspguru.com/comp.dsp/tricks/alg/horner.htm

ps someone was awake enough to see the error
pts[pn].val = c[cn++] * pow(pts[pn].x, i) * zyexp;
which should have been:
pts[pn++].val = c[cn++] * pow(pts[pn].x, i) * zyexp;

So if any one has any suggestions on using this trick with more than one
variable let me know please.
Jul 19 '05 #8

"Gianni Mariani" <gi*******@mariani.ws> wrote in message
news:bk********@dispatch.concentric.net...
JustSomeGuy wrote:
I have a routine that evaluates a polynomial equation that have 3 variables x,y,z of orders 1,2,3 the coefficients of the polynomial are in an array. This routine is quite slow and I'd like to optimize it.
Any suggestions?
Now that you have been significantly chastized for the massive cross
post, comp.lang.c++ is NOT the best NG for numerical stuff.

Not only that, optimization questions not relating to the C++ standard
are off topic in comp.lang.c++.

I'll however give you a few hints.

a) It seems like you may have done SOME profiling but let me state that
YOU REALLY NEED TO PROFILE THE CODE.

b) Let's assume you did some profiling and found that EvaluatePoly is
the culprit. You would have found that pow() was called a large number
of times more than EvaluatePoly.

c) Assuming EvaluatePoly needs to scream, I'd suggest making a small
test harness which allows you to run EvaluatePoly as a stand-alone app
and this will allow you to iterate your changes faster.


simply put pts is a vector of
typdef struct
double x;
double y;
double z;
double val;
} vect

xorder, yorder and zorder are the maximum polynomial exponents for an
equation
like val = fn(x,y,z).

void EvaluatePoly(Vector<vect> & pts, int xorder, int yorder, int
zorder)
{
for (int pn=0; pn < pts.length(); ++pn)
{
int cn=0;
for (int k=0; k <= zorder; ++k)
{
float zexp = pow(pts[pn].z, k);

^^^^^^^^^^^^^^^^^^^^^^^^^ why floats ?
^^^^^^^^^^^^^^^^^^^^^^^^^ why call pow ? These may be computed using
multiplication per iterarion. Significantly fast
for (int j=0; j <= yorder; ++j)
{
float zyexp = zexp * pow(pts[pn].y, j);

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ why floats ?
for (int i=0; i <= xorder; ++i)
{
pts[pn].val = c[cn++] * pow(pts[pn].x, i) *

zyexp; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
what is this ? don't you want this to be a sum of all the terms ?
}
}
}
}
}

So, give this a go. Compared to what is above, it should be
significantly faster and it might actually work.

Without knowing the data set, it's kind of hard to know better what you
need.


Yes I've gotten rid of the pow function and I've also started looking
into horner's rule, but I'm not sure I can apply it to polynomials with more
than one variable. If anyone knows... please let me know.



#include <vector>

typedef struct {
double x;
double y;
double z;
double val;
} vect;
void EvaluatePoly(
std::vector<vect> & pts,
int xorder,
int yorder,
int zorder,
double * c
)
{

std::vector<vect>::iterator p_pts = pts.begin();
std::vector<vect>::iterator pts_end = pts.end();

for (; p_pts != pts_end; ++ p_pts )
{
int cn=0;

double val_x = p_pts->x;
double val_y = p_pts->y;
double val_z = p_pts->z;

double sum = 0;
double pow_z = 1;
for (int k=0; k <= zorder; ++k)
{
double pow_y = pow_z;
for (int j=0; j <= yorder; ++j)
{
double pow_x = pow_y;
for (int i=0; i <= xorder; ++i)
{
sum += c[cn++] * pow_x;

pow_x *= val_x;
}

pow_y *= val_y;
}

pow_z *= val_z;
}

p_pts->val = sum;
}
}

Jul 19 '05 #9
JustSomeGuy wrote:
"Gianni Mariani" <gi*******@mariani.ws> wrote in message
news:bk********@dispatch.concentric.net...
JustSomeGuy wrote:
I have a routine that evaluates a polynomial equation that have 3
....
So, give this a go. Compared to what is above, it should be
significantly faster and it might actually work.

Without knowing the data set, it's kind of hard to know better what you
need.

Yes I've gotten rid of the pow function and I've also started looking
into horner's rule, but I'm not sure I can apply it to polynomials with more
than one variable. If anyone knows... please let me know.


Horner's rule only effects the inner loop but in this case it does not
save you anything because there are still 2 multiplies and an add per
inner loop iteration.

Here it is,

horner_sum = *(coef--)*pow_y + horner_sum * val_x;

- 2 multiplies and an add

The first code I wrote

sum += c[cn++] * pow_x;
pow_x *= val_x;

- two multiplies and an add !

I would go for simple.
#include <cmath>
#include <vector>

typedef struct {
double x;
double y;
double z;
double val;
} vect;
void EvaluatePoly(
std::vector<vect> & pts,
int xorder,
int yorder,
int zorder,
double * c
)
{

std::vector<vect>::iterator p_pts = pts.begin();
std::vector<vect>::iterator pts_end = pts.end();

for (; p_pts != pts_end; ++ p_pts )
{
int cn=0;

double val_x = p_pts->x;
double val_y = p_pts->y;
double val_z = p_pts->z;

double sum = 0;
double pow_z = 1;
for (int k=0; k <= zorder; ++k)
{
double pow_y = pow_z;
for (int j=0; j <= yorder; ++j)
{
double horner_sum = 0;
double * coef = c + cn + xorder + 1;
for (int i=xorder; i >= 0; i --)
{
horner_sum = *(coef--)*pow_y + horner_sum * val_x;
}

cn += xorder + 1;
sum += horner_sum;

pow_y *= val_y;
}

pow_z *= val_z;
}

p_pts->val = sum;
}
}

Jul 19 '05 #10
"JustSomeGuy" <no**@nottelling.com> writes:
"David B. Held" <dh***@codelogicconsulting.com> wrote in message
news:bk**********@news.astound.net...

Yes. 1) Don't cross-post to 9 newsgroups. You will almost
certainly receive a number of angry responses, which will
not help you solve your optimization problem (this is a
meta-optimization tip for the next time you have a question).
People who get 'Angry' in regards to news group posting need to
seek help desperatly. But thanks for the info I will take in the
good spirit.


People who read what David wrote to you and infer that he's "angry"
need to either (1) read it again, or (2) read it again. HTH.

Doug

Jul 19 '05 #11

"Doug Norris" <no******@rintintin.colorado.edu> wrote in message
news:no*****************@rintintin.colorado.edu...
"JustSomeGuy" <no**@nottelling.com> writes:
"David B. Held" <dh***@codelogicconsulting.com> wrote in message
news:bk**********@news.astound.net...

Yes. 1) Don't cross-post to 9 newsgroups. You will almost
certainly receive a number of angry responses, which will
not help you solve your optimization problem (this is a
meta-optimization tip for the next time you have a question).

People who get 'Angry' in regards to news group posting need to
seek help desperatly. But thanks for the info I will take in the
good spirit.


People who read what David wrote to you and infer that he's "angry"
need to either (1) read it again, or (2) read it again. HTH.


I don't think SomeGuy inferred that David was angry any more than David
implied it to begin with. They were both speaking in the third person, no?
Jul 19 '05 #12
"Doug Norris" <no******@rintintin.colorado.edu> wrote in message news:no*****************@rintintin.colorado.edu...
"JustSomeGuy" <no**@nottelling.com> writes:
"David B. Held" <dh***@codelogicconsulting.com> wrote in message
news:bk**********@news.astound.net...

Yes. 1) Don't cross-post to 9 newsgroups. You will almost
certainly receive a number of angry responses, which will
not help you solve your optimization problem (this is a
meta-optimization tip for the next time you have a question).

People who get 'Angry' in regards to news group posting need to
seek help desperatly. But thanks for the info I will take in the
good spirit.


People who read what David wrote to you and infer that he's "angry"
need to either (1) read it again, or (2) read it again. HTH.


People who think that "JustSomeGuy" was referring to David himself,
rather than to the senders of the "number of angry responses" to which
David refers, need to either (1) read it again, or (2) read it again. HTH.

--
#include <stdio.h>
char*f="#include <stdio.h>%cchar*f=%c%s%c;%cint main(void){printf(f,10,34,f,34,10,10);return 0;}%c";
int main(void){printf(f,10,34,f,34,10,10);return 0;}
Jul 19 '05 #13
In article <bk***********@nserve1.acs.ucalgary.ca>, "JustSomeGuy"
<no**@nottelling.com> wrote:
"Robert Vienneau" <rv***@see.sig.com> wrote in message
news:rv*************************@news.dreamscape.c om...
It may be helpful to realize:

a*x^3 + b*x^2 + c*x + d = d + x*(c + b*(x + a*x))

and so on.

I think that's called Horner's rule, and it is a standard trick when
optimizing the evalutaion of polynomials.
I think your are right....

horner's rule in c.

n=5, p=c[n];
for (j=n-1; j >=0; j=j-1)
p *= x + c[j];

however I wonder how well, or even if its possible, to do this
with and equation with 3 variables, as in my example?
I did not look at your code too closely. But frequently one can
reverse the order of nested loops. Can you do such? And will it
make some such trick as Horner's rule useful?
check this out.
http://www.dspguru.com/comp.dsp/tricks/alg/horner.htm


--
Try http://csf.colorado.edu/pkt/pktautho.../Bukharin.html
To solve Linear Programs: .../LPSolver.html
r c A game: .../Keynes.html
v s a Whether strength of body or of mind, or wisdom, or
i m p virtue, are found in proportion to the power or wealth
e a e of a man is a question fit perhaps to be discussed by
n e . slaves in the hearing of their masters, but highly
@ r c m unbecoming to reasonable and free men in search of
d o the truth. -- Rousseau
Jul 19 '05 #14

"jeffc" <no****@nowhere.com> wrote in message
news:3f********@news1.prserv.net...

"Doug Norris" <no******@rintintin.colorado.edu> wrote in message
news:no*****************@rintintin.colorado.edu...
"JustSomeGuy" <no**@nottelling.com> writes:
"David B. Held" <dh***@codelogicconsulting.com> wrote in message
news:bk**********@news.astound.net...
>
> Yes. 1) Don't cross-post to 9 newsgroups. You will almost
> certainly receive a number of angry responses, which will
> not help you solve your optimization problem (this is a
> meta-optimization tip for the next time you have a question).
People who get 'Angry' in regards to news group posting need to
seek help desperatly. But thanks for the info I will take in the
good spirit.


People who read what David wrote to you and infer that he's "angry"
need to either (1) read it again, or (2) read it again. HTH.


I don't think SomeGuy inferred that David was angry any more than David
implied it to begin with. They were both speaking in the third person,

no?

Correct, I didn't think Dave was angry... Simply stating a fact.
Jul 19 '05 #15
mjm
"JustSomeGuy" <no**@nottelling.com> wrote in message news:<bk***********@nserve1.acs.ucalgary.ca>...
"Robert Vienneau" <rv***@see.sig.com> wrote in message
news:rv*************************@news.dreamscape.c om...
It may be helpful to realize:

a*x^3 + b*x^2 + c*x + d = d + x*(c + b*(x + a*x))

and so on.

I think that's called Horner's rule, and it is a standard trick when
optimizing the evalutaion of polynomials.


I think your are right....

horner's rule in c.

n=5, p=c[n];
for (j=n-1; j >=0; j=j-1)
p *= x + c[j];

however I wonder how well, or even if its possible, to do this
with and equation with 3 variables, as in my example?

check this out.
http://www.dspguru.com/comp.dsp/tricks/alg/horner.htm

ps someone was awake enough to see the error
pts[pn].val = c[cn++] * pow(pts[pn].x, i) * zyexp;
which should have been:
pts[pn++].val = c[cn++] * pow(pts[pn].x, i) * zyexp;

So if any one has any suggestions on using this trick with more than one
variable let me know please.


Try this: a polynomial p(x,y) in 2 variables x,y is a polynomial in y
with coefficients c_j(x) in R[x] (polynomials in x), for example

x^2y^2+3xy^2+2xy+y+x+1 = y^2(x^2+3x) + y(2x+1) +(x+1)

Compute the coefficients c_j(x} using Horner's rule and then with
these
compute p(x,y) again using Horner's rule. The same principle applies
to polynomials in 3 or more variables. You could build this up as
follows:

1. a routine for p(x)
2. a routine for p(x,y) using the routine for p(x) on the coefficients
c_j(x)
3. a routine for p(x,y,z) using the routine for p(x,y) on the
coefficients c_ij(x,y)

and son on.
Jul 19 '05 #16

"Robert Vienneau" <rv***@see.sig.com> wrote in message
news:rv*************************@news.dreamscape.c om...
In article <bk***********@nserve1.acs.ucalgary.ca>, "JustSomeGuy"
<no**@nottelling.com> wrote:
"Robert Vienneau" <rv***@see.sig.com> wrote in message
news:rv*************************@news.dreamscape.c om...
It may be helpful to realize:

a*x^3 + b*x^2 + c*x + d = d + x*(c + b*(x + a*x))

and so on.

I think that's called Horner's rule, and it is a standard trick when
optimizing the evalutaion of polynomials.
I think your are right....

horner's rule in c.

n=5, p=c[n];
for (j=n-1; j >=0; j=j-1)
p *= x + c[j];

however I wonder how well, or even if its possible, to do this
with and equation with 3 variables, as in my example?
I did not look at your code too closely. But frequently one can
reverse the order of nested loops. Can you do such? And will it
make some such trick as Horner's rule useful?


Yes I certainly can (And have) reversed the orders of the loops.
It really depends on weather I want the highest order polynomials
on the left or on the right... horner's rule I believe requires the
highest order polynomial on the right..

check this out.
http://www.dspguru.com/comp.dsp/tricks/alg/horner.htm


--
Try http://csf.colorado.edu/pkt/pktautho.../Bukharin.html
To solve Linear Programs: .../LPSolver.html
r c A game: .../Keynes.html
v s a Whether strength of body or of mind, or wisdom,

or i m p virtue, are found in proportion to the power or wealth e a e of a man is a question fit perhaps to be discussed by n e . slaves in the hearing of their masters, but highly @ r c m unbecoming to reasonable and free men in search of d o the truth. -- Rousseau

Jul 19 '05 #17

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

Similar topics

7
2313
by: Andreas Paasch | last post by:
I've finally gotten my nice little system working and it's gone live. Now, I spent time optimizing my code and adding a little smart functionality here and there, based on needs and simplicity. ...
6
2858
by: A Future Computer Scientist | last post by:
A question: Is it really important to think about optimizing the native code or optimizing it for P Code? Or does the code you write make a difference?
4
2502
by: J. Campbell | last post by:
From reading this forum, it is my understanding that C++ doesn't require the compiler to keep code that does not manifest itself in any way to the user. For example, in the following: { for(int...
31
2584
by: mark | last post by:
Hello- i am trying to make the function addbitwise more efficient. the code below takes an array of binary numbers (of size 5) and performs bitwise addition. it looks ugly and it is not elegant...
2
1547
by: Brian | last post by:
In particular, this question goes out to the Microsoft C++ development team. Back in June, Ronald Laeremans posted the following message. Has the optimizing compiler been included with the...
4
1460
by: Flashman | last post by:
A little confusing with setting up optimizing options with 2003 .NET. Under the Optimization Tab. if you set to /O1 or /O2 is the program ignoring the settings for Inline Function expansion,...
3
1784
by: Nick Gilbert | last post by:
Hi, I have to send an array of prices for a list of products over XML. Currently my XML data looks like this: <ArrayOfProd> <Prod Code="productcode001"> <Prices> <P F="2005-01-01"...
6
2494
by: peter_k | last post by:
Hi, Last time i'm interested in optimizing small c programs. On my studies we are sending the programs using the web interface to online judge. The person who will wrote the faster program get...
0
1245
by: Miguel Perez | last post by:
Please critique this tail call optimizing decorator I've written. I've tried to fix the pitfalls of other proposed decorators, and the result is this one that supports mutual recursion, does not...
0
7194
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7070
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
7449
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5566
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
4666
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
3160
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
3148
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1495
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 ...
1
729
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.