473,902 Members | 3,407 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Implementation of functions in math.h on clc-wiki

I'm writing a portable implementation of the C standard library for
http://www.clc-wiki.net and I was wondering if someone could check the
functions in math.h for sanity/portability/whatever. I'm almost halfway
through writing the over 200 functions needed to implement C99's
version of math.h, and I would like to have some feedback and/or expert
advice on my implementations .

Sincerely, Gregory Pietsch

Mar 11 '06
110 8669
Richard Heathfield <in*****@invali d.invalid> writes:
Jordan Abel said:
On 2006-03-12, P.J. Plauger <pj*@dinkumware .com> wrote:
"Richard Heathfield" <in*****@invali d.invalid> wrote in message
news:du******** **@nwrdmz02.dmz .ncs.ea.ibs-infra.bt.com...

P.J. Plauger said:

> I will henceforth be monitoring this
site with extreme interest.


Keep in mind that it is a wiki, and anyone can contribute.


Even P J Plauger. And since he's now closely monitoring it, he might just
start doing that. :-)

(It's an ill wind...)


PJP has /already/ been wronged, and /already/ provides, through his
own choice of medium the information that you wish to see provided.
Why do you ask more from him?

Phil
--
What is it: is man only a blunder of God, or God only a blunder of man?
-- Friedrich Nietzsche (1844-1900), The Twilight of the Gods
Mar 12 '06 #31

pete wrote:
Nick Keighley wrote:

Ben Pfaff wrote:
Jordan Abel <ra*******@gmai l.com> writes:

> On 2006-03-12, Ben Pfaff <bl*@cs.stanfor d.edu> wrote:
>> I compared a few files in the clc-wiki.net implementation against
>> those in _The Standard C Library_. The former is obviously a
>> derivative work of the latter, made without acknowledgments and
>> (now obviously) without permission.
>
> Which ones did you look at? The ones I looked at looked like
> A) they
> were probably fairly obvious implementation techniques and
> B) they were
> simple enough to have been independently arrived at.

Here is just one example. It's a very simple one because it's
less to type.

_The Standard C Library_ has in ceil.c:

#include "xmath.h"

double (ceil)(double x)
{ /* compute ceil(x) */
return (_Dint(&x, 0) < 0 && 0.0 < x ? x + 1.0 : x);
}

On clc-wiki.net:

#include "xmath.h"

double
(ceil) (double x)
{
return _Dint (&x, 0) < 0 && 0.0 < x ? x + 1.0 : x;
}

Also, all the file names are the same.


seems pretty blatent. Things like _Dint() are like a giant neon sign.
If I were
to try and implement math.h
(I doubt I would) _Dint() doesn't seem like
an
obvious name to pick.


I couldn't find the function definition for _Dint.
Was it out there?


I think you misunderstand. _Dint() is *not* part of the standard (the
initial underscore is a strong hint) it is part of the particular
implementation. If such internals match then the chances are
vanishingly
small that one is not a derived version of the other. They could also
be derived from a common source.
--
Nick Keighley

Mar 12 '06 #32
"Nick Keighley" wrote:

pete wrote:
Nick Keighley wrote:
>
> Ben Pfaff wrote:
> > Jordan Abel <ra*******@gmai l.com> writes:
> >
> > > On 2006-03-12, Ben Pfaff <bl*@cs.stanfor d.edu> wrote:
> > >> I compared a few files in the clc-wiki.net implementation
> > >> against
> > >> those in _The Standard C Library_. The former is obviously
> > >> a
> > >> derivative work of the latter, made without acknowledgments
> > >> and
> > >> (now obviously) without permission.
> > >
> > > Which ones did you look at? The ones I looked at looked like
> > > A) they
> > > were probably fairly obvious implementation techniques and
> > > B) they were
> > > simple enough to have been independently arrived at.
> >
> > Here is just one example. It's a very simple one because it's
> > less to type.
> >
> > _The Standard C Library_ has in ceil.c:
> >
> > #include "xmath.h"
> >
> > double (ceil)(double x)
> > { /* compute
> > ceil(x) */
> > return (_Dint(&x, 0) < 0 && 0.0 < x ? x + 1.0 : x);
> > }
> >
> > On clc-wiki.net:
> >
> > #include "xmath.h"
> >
> > double
> > (ceil) (double x)
> > {
> > return _Dint (&x, 0) < 0 && 0.0 < x ? x + 1.0 : x;
> > }
> >
> > Also, all the file names are the same.
>
> seems pretty blatent. Things like _Dint() are like a giant neon
> sign.
> If I were
> to try and implement math.h
> (I doubt I would) _Dint() doesn't seem like
> an
> obvious name to pick.


I couldn't find the function definition for _Dint.
Was it out there?


I think you misunderstand. _Dint() is *not* part of the standard
(the
initial underscore is a strong hint) it is part of the particular
implementation. If such internals match then the chances are
vanishingly
small that one is not a derived version of the other. They could
also
be derived from a common source.


I was of the opinion that the name was derived or borrowed from
Fortrans DINT (truncate towards zero).
It performs an eqal operation in the implementations above so that
seems reasonable.

regards
John
Mar 12 '06 #33
Phil Carmody said:
Richard Heathfield <in*****@invali d.invalid> writes:
Jordan Abel said:
> On 2006-03-12, P.J. Plauger <pj*@dinkumware .com> wrote:
>> "Richard Heathfield" <in*****@invali d.invalid> wrote in message
>> news:du******** **@nwrdmz02.dmz .ncs.ea.ibs-infra.bt.com...
>>
>>> P.J. Plauger said:
>>>
>>>> I will henceforth be monitoring this
>> site with extreme interest.
>
> Keep in mind that it is a wiki, and anyone can contribute.
Even P J Plauger. And since he's now closely monitoring it, he might just
start doing that. :-)

(It's an ill wind...)


PJP has /already/ been wronged, and /already/ provides, through his
own choice of medium the information that you wish to see provided.


You misunderstand me. I do understand why he's concerned about copyright, of
course I do. But "the information I wish to see provided" is what,
precisely? I couldn't give a monkey's whether the C wiki provides a
standard library source. I already have a compiler and libc, thank you. I
was talking about more general contributions to the wiki.
Why do you ask more from him?


I'm not asking anything from him. But if he does monitor the wiki closely,
he might *just* feel like contributing - just as he contributes to Usenet
without anyone asking him to. And if he does so, that'll be great. But if
he doesn't, no big deal. I think you've got the wrong end of the stick for
a change, Phil.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Mar 12 '06 #34
"John F" <sp**@127.0.0.1 > wrote in message
news:44******** *************** @tunews.univie. ac.at...
"Nick Keighley" wrote:

pete wrote:
Nick Keighley wrote:
>
> Ben Pfaff wrote:
> > Jordan Abel <ra*******@gmai l.com> writes:
> >
> > > On 2006-03-12, Ben Pfaff <bl*@cs.stanfor d.edu> wrote:
> > >> I compared a few files in the clc-wiki.net implementation against
> > >> those in _The Standard C Library_. The former is obviously a
> > >> derivative work of the latter, made without acknowledgments and
> > >> (now obviously) without permission.
> > >
> > > Which ones did you look at? The ones I looked at looked like
> > > A) they
> > > were probably fairly obvious implementation techniques and
> > > B) they were
> > > simple enough to have been independently arrived at.
> >
> > Here is just one example. It's a very simple one because it's
> > less to type.
> >
> > _The Standard C Library_ has in ceil.c:
> >
> > #include "xmath.h"
> >
> > double (ceil)(double x)
> > { /* compute ceil(x)
> > */
> > return (_Dint(&x, 0) < 0 && 0.0 < x ? x + 1.0 : x);
> > }
> >
> > On clc-wiki.net:
> >
> > #include "xmath.h"
> >
> > double
> > (ceil) (double x)
> > {
> > return _Dint (&x, 0) < 0 && 0.0 < x ? x + 1.0 : x;
> > }
> >
> > Also, all the file names are the same.
>
> seems pretty blatent. Things like _Dint() are like a giant neon sign.
> If I were
> to try and implement math.h
> (I doubt I would) _Dint() doesn't seem like
> an
> obvious name to pick.

I couldn't find the function definition for _Dint.
Was it out there?


I think you misunderstand. _Dint() is *not* part of the standard (the
initial underscore is a strong hint) it is part of the particular
implementation. If such internals match then the chances are
vanishingly
small that one is not a derived version of the other. They could also
be derived from a common source.


I was of the opinion that the name was derived or borrowed from Fortrans
DINT (truncate towards zero).
It performs an eqal operation in the implementations above so that seems
reasonable.


For all its brevity, this is a remarkably telling example of the
distinct worth of a particular implementation. _Dint is indeed my
own invention, evolved over several decades of writing portable
and efficient math functions. It is *not* simply a C implementation
of an old Fortran function, despite the similarity of names. Note
that it takes a second argument. Instead:

_Dint(double *px, int n) clears all but the first n bits to the right
of the (true) binary point in the floating-point value *px, then
returns a code describing the nature of the *discarded* value.

_Dint(&x, -1) truncates x to the nearest *even* value, a critical
test in function pow that's messy to write otherwise.

_Dint(&x, 0) truncates x to an integer and returns zero only
if x was already an integer. It returns other codes if x was a
NaN, an infinity, or a denormal. A good way to kick off all
sorts of math functions.

_Dint(&x, 1) truncates x to the nearest multiple of 1/2, and
tells you whether the result was an exact multiple of 1/2.
Round to nearest, anyone?

_Dint(&x, 2) truncates x to the nearest multiple of 1/4, very
handy for determining a quadrant.

_Dint(&x, (FBITS - 1) / 2) helps split a value into pieces so
you can perform arbitrary-precision using normal floating-point
operations.

At a quick count, we use _Dint in four dozen places in the
Dinkumware C library. It's the binary analog to the most
important (IMO) innovation in the evolving IEEE-754R decimal
floating-point package -- the ability to round to a given
number of decimal digits. But you will notice that _Dint is
*not* specified by the C Standard, and it is *not* present in
other implementations of the Standard C library. (Nor is the
decimal analog in IEEE-754R so clearly delineated.)

I consider _Dint one of the more valuable components of the
Standard C library that I originally wrote and that is now
being licensed by my company, Dinkumware, Ltd. (my
principal source of income for the past decade or so). I
don't take lightly the notion that it can be copied and
used verbatim in ways that took me quite some time to
work out. That's why something as seemingly lightweight as:

return _Dint (&x, 0) < 0 && 0.0 < x ? x + 1.0 : x;

is IMO a serious infringement. It takes more than removing
two parens and adding a space to bring something new to the
party.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Mar 12 '06 #35
"P.J. Plauger" wrote:
"John F" <sp**@127.0.0.1 > wrote:
"Nick Keighley" wrote:

pete wrote:
Nick Keighley wrote:
> [SNIP
]>>>> > > _The Standard C Library_ has in ceil.c: > >
> > #include "xmath.h"
> >
> > double (ceil)(double x)
> > { /* compute
> > ceil(x) */
> > return (_Dint(&x, 0) < 0 && 0.0 < x ? x + 1.0 : x);
> > }
> >
> > On clc-wiki.net:
> >
> > #include "xmath.h"
> >
> > double
> > (ceil) (double x)
> > {
> > return _Dint (&x, 0) < 0 && 0.0 < x ? x + 1.0 : x;
> > }
> >
> > Also, all the file names are the same.
>
> seems pretty blatent. Things like _Dint() are like a giant neon
> sign.
> If I were
> to try and implement math.h
> (I doubt I would) _Dint() doesn't seem like
> an
> obvious name to pick.

I couldn't find the function definition for _Dint.
Was it out there?

I think you misunderstand. _Dint() is *not* part of the standard
(the
initial underscore is a strong hint) it is part of the particular
implementation. If such internals match then the chances are
vanishingly
small that one is not a derived version of the other. They could
also
be derived from a common source.
I was of the opinion that the name was derived or borrowed from
Fortrans DINT (truncate towards zero).
It performs an eqal operation in the implementations above so that
seems reasonable.


For all its brevity, this is a remarkably telling example of the
distinct worth of a particular implementation. _Dint is indeed my
own invention, evolved over several decades of writing portable
and efficient math functions. It is *not* simply a C implementation
of an old Fortran function, despite the similarity of names. Note
that it takes a second argument. Instead:


I was referring to the name. And "eqal" was meant in a weak sense.
_Dint(double *px, int n) clears all but the first n bits to the
right
of the (true) binary point in the floating-point value *px, then
returns a code describing the nature of the *discarded* value.

_Dint(&x, -1) truncates x to the nearest *even* value, a critical
test in function pow that's messy to write otherwise.
nice hack!
_Dint(&x, 0) truncates x to an integer and returns zero only
if x was already an integer. It returns other codes if x was a
NaN, an infinity, or a denormal. A good way to kick off all
sorts of math functions.

_Dint(&x, 1) truncates x to the nearest multiple of 1/2, and
tells you whether the result was an exact multiple of 1/2.
Round to nearest, anyone?

_Dint(&x, 2) truncates x to the nearest multiple of 1/4, very
handy for determining a quadrant.

_Dint(&x, (FBITS - 1) / 2) helps split a value into pieces so
you can perform arbitrary-precision using normal floating-point
operations.
D'oh! You turned it into a numerical swiss-knife!
In Fortran there are several functions to implement this. Great work!
At a quick count, we use _Dint in four dozen places in the
Dinkumware C library. It's the binary analog to the most
important (IMO) innovation in the evolving IEEE-754R decimal
floating-point package -- the ability to round to a given
number of decimal digits. But you will notice that _Dint is
*not* specified by the C Standard, and it is *not* present in
other implementations of the Standard C library. (Nor is the
decimal analog in IEEE-754R so clearly delineated.)
It is mentioned that it should be able to do it IIRC.
I consider _Dint one of the more valuable components of the
Standard C library that I originally wrote and that is now
being licensed by my company, Dinkumware, Ltd. (my
principal source of income for the past decade or so).
It is, indeed! I hav not had a look at the implementation of _Dint in
the current case. But it looks quite obvious.
I
don't take lightly the notion that it can be copied and
used verbatim in ways that took me quite some time to
work out.
That's what I would sign for immediatelly.

I guess that if he had asked you for assistance, you would have helped
to solve some issues. Just copy and paste without asking is not the
fine kind ...
That's why something as seemingly lightweight as:

return _Dint (&x, 0) < 0 && 0.0 < x ? x + 1.0 : x;

is IMO a serious infringement. It takes more than removing
two parens and adding a space to bring something new to the
party.
FULL ACK.

regards
John
P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com

Mar 12 '06 #36
On 2006-03-12, P.J. Plauger <pj*@dinkumware .com> wrote:
I consider _Dint one of the more valuable components of the Standard C
library that I originally wrote and that is now being licensed by my
company, Dinkumware, Ltd. (my principal source of income for the past
decade or so). I don't take lightly the notion that it can be copied
and used verbatim in ways that took me quite some time to work out.
That's why something as seemingly lightweight as:
Seemingly? It _is_ lightweight. The heavy lifting takes place in _Dint
itself.
return _Dint (&x, 0) < 0 && 0.0 < x ? x + 1.0 : x;

is IMO a serious infringement.
It may be EVIDENCE of a serious infringement, but the real much more
serious infringement would be copying of the implementation of _Dint
itself. Unless you have either a trademark on the name or a patent on
the idea of the function, someone could just as well implement their
own.

Given the specification of "_Dint", this looks like a perfectly obvious
way of implementing ceil. If we lived in some bizarre parallel universe
where _Dint is in the standard C library and ceil is not, that's how _I_
would implement ceil.
It takes more than removing two parens and adding a space to bring
something new to the party.


I'm not saying you're wrong, but equating the copying of a small and
possibly uncopyrightable mathematical formula that _uses_ _Dint, with
copying of the implementation of _Dint itself, seems dishonest.
Mar 12 '06 #37
On 2006-03-12, Richard G. Riley <rg****@gmail.c om> wrote:
On 2006-03-12, Richard Heathfield <in*****@invali d.invalid> wrote:
Netocrat said:
I've deleted all code-containing pages from the "Portable C library source
code implementation" category and its sub-categories on clc-wiki.net.


Good move. Perhaps it would be a good idea to start again, and ban anyone
from participating if they have access to a copy of TSCL. (In a curious
omission, I never actually got around to buying a copy myself, so I'd be
game for that.)


Why would you ban anyone with access to that? Surely you would want
them to in order to guide? Not everything must be built from scratch.
So long as its not a rip off, the ideas contained therein can be used
to fuse a new thoughtline for the new libraries.


There is a certain danger of both unconsciously copying things, and of
design elements, though not themselves copyrightable, leading in some
cases to very similar code that is very open to liability. While the
idea of _Dint itself [as opposed to its source code] is not, in my
opinion (IANAL) copyrightable, it does lead to some obvious implement-
ations of some other functions [ceil (as shown), floor, round], which,
even if _not_ deliberately copied could end up the same. It's still
possible that is what happened. It leads to a can of worms.

Starting from the source to an open-source libc implementation, such as
that of FreeBSD, and modifying it for portability, would be safer.
This morning, I took the opportunity to drop in on the C wiki, and I
have to say it does look like it's becoming a useful site, current
debacle notwithstanding . I am delighted, and encouraged. I may start
dropping by a little more often.

Mar 12 '06 #38
On 2006-03-12, Jordan Abel <ra*******@gmai l.com> wrote:
On 2006-03-12, Richard G. Riley <rg****@gmail.c om> wrote:
On 2006-03-12, Richard Heathfield <in*****@invali d.invalid> wrote:
Netocrat said:

I've deleted all code-containing pages from the "Portable C library source
code implementation" category and its sub-categories on clc-wiki.net.

Good move. Perhaps it would be a good idea to start again, and ban anyone
from participating if they have access to a copy of TSCL. (In a curious
omission, I never actually got around to buying a copy myself, so I'd be
game for that.)
Why would you ban anyone with access to that? Surely you would want
them to in order to guide? Not everything must be built from scratch.
So long as its not a rip off, the ideas contained therein can be used
to fuse a new thoughtline for the new libraries.


There is a certain danger of both unconsciously copying things, and of
design elements, though not themselves copyrightable, leading in some
cases to very similar code that is very open to liability. While the
idea of _Dint itself [as opposed to its source code] is not, in my
opinion (IANAL) copyrightable, it does lead to some obvious implement-
ations of some other functions [ceil (as shown), floor, round], which,
even if _not_ deliberately copied could end up the same. It's still
possible that is what happened. It leads to a can of worms.


It certainly does : we ran a project once for 5 C programmers to write
a routine which copied a string and then removd all the non leading
vowels. We" wr lkng fr spd and rdblty".

4 of the 5 were almost identical in every way. Admittedly the 5 had
been working on a common code base and so shared certain styles : but
often there really is only one way to skin a horse.

Its also one of the big issues when designing redundancy into systems
: often the redundant monitors fail at the same unlikely condition
because the engineers who engineered them made the same booboos.

Starting from the source to an open-source libc implementation, such as
that of FreeBSD, and modifying it for portability, would be safer.
This morning, I took the opportunity to drop in on the C wiki, and I
have to say it does look like it's becoming a useful site, current
debacle notwithstanding . I am delighted, and encouraged. I may start
dropping by a little more often.

--
Debuggers : you know it makes sense.
http://heather.cs.ucdavis.edu/~matlo...g.html#tth_sEc
Mar 12 '06 #39
Nick Keighley wrote:

pete wrote:
Nick Keighley wrote:

Ben Pfaff wrote:
> Jordan Abel <ra*******@gmai l.com> writes:
>
> > On 2006-03-12, Ben Pfaff <bl*@cs.stanfor d.edu> wrote:
> >> I compared a few files in the clc-wiki.net
> >> implementation against
> >> those in _The Standard C Library_. The former is obviously a
> >> The former is obviously a
> >> derivative work of the latter, The former is obviously a
> >> made without acknowledgments and
> >> (now obviously) without permission.
> >
> > Which ones did you look at? The ones I looked at looked like
> > A) they
> > were probably fairly obvious implementation techniques and
> > B) they were
> > simple enough to have been independently arrived at.
>
> Here is just one example. It's a very simple one because it's
> less to type.
>
> _The Standard C Library_ has in ceil.c:
>
> #include "xmath.h"
>
> double (ceil)(double x)
> { /* compute ceil(x) */
> return (_Dint(&x, 0) < 0 && 0.0 < x ? x + 1.0 : x);
> }
>
> On clc-wiki.net:
>
> #include "xmath.h"
>
> double
> (ceil) (double x)
> {
> return _Dint (&x, 0) < 0 && 0.0 < x ? x + 1.0 : x;
> }
>
> Also, all the file names are the same.

seems pretty blatent.
Things like _Dint() are like a giant neon sign.
If I were
to try and implement math.h
(I doubt I would) _Dint() doesn't seem like
an
obvious name to pick.


I couldn't find the function definition for _Dint.
Was it out there?


I think you misunderstand. _Dint() is *not* part of the standard (the
initial underscore is a strong hint) it is part of the particular
implementation. If such internals match then the chances are
vanishingly
small that one is not a derived version of the other. They could also
be derived from a common source.


Don't function calls like _Dint(), render the code non portable?

I don't understand the point of the posted clc-wiki.net library.
What was one supposed to have been able to do with it?
Was it supposed to have been instructional or of practical use,
or even compilable?

I don't think this is very instructional:
"You just call _Dint (&x, 0),
and now you know how ceil can be implemented."
and I don't undestand
what I was supposed to have been able to do with that code.

--
pete
Mar 12 '06 #40

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

Similar topics

1
2089
by: Robert Mark Bram | last post by:
Howdy All! I am trying to write a very brief comparison of the Date and Math objects in terms of instance v static objects. What I have below is my best so far. Any criticisms or suggestions are most welcome! Date is an instance object. You use Date by creating instances of it - you call methods on those instances. - you change data to do with each instance.
9
4670
by: Anon Email | last post by:
Hi people, I'm learning about header files in C++. The following is code from Bartosz Milewski: // Code const int maxStack = 16; class IStack
17
3639
by: cwdjrxyz | last post by:
Javascript has a very small math function list. However there is no reason that this list can not be extended greatly. Speed is not an issue, unless you nest complicated calculations several levels deep. In that case you need much more ram than a PC has to store functions calculated in loops so that you do not have to recalculate every time you cycle through the nest of loops. Using a HD for storage to extend ram is much too slow for many...
6
2147
by: sathyashrayan | last post by:
Following are the selected thread from the date:30-jan-2005 to 31-jan-2005. I did not use any name because of the subject is important. You can get the original thread by typing the subject "string" in google comp.lang.c archives.Hope this helps.Hope I am not bothering any one. am I? =================================Start=========================== subject: Return to Start of Line? Question: I'd like printf, the next printf, to return...
6
4485
by: Thomas Lumley | last post by:
What does the standard guarantee about the accuracy of eg the trigonometric functions? There is obviously an implementation-dependent upper bound on the accuracy, since the answer is stored in a double, but is this bound actually achieved? First, a simple example Suppose I want the arc cosine of -1, and use acos(-1.0) to compute it. The correct answer to 25 hexadecimal digits is -3.243F6A8885A308D313198A2E. This falls between two ...
8
2926
by: Sensei | last post by:
I have a quick question about the math library included in the standard C90 (and 99). The gcc, xlc and possibly other compilers/linkers on some unix platforms cannot use any math functions in math.h if a switch (-lm) is used, so *explicitly* having the linker use a file called libm.so or libm.a/dylib/whatever. Is it true on all the platforms? (answer: probably no)
5
2261
by: Ark | last post by:
Hi everyone, Does anyone know if Direct3D overloads System.Math functions? Also is it possible to access the base functions of the overloaded function (in other words restore original of the overlaoded function)? Thank you
1
2066
by: silellak | last post by:
I have found an odd error when using an XSL stylesheet transform. We have a Notes/Domino application with the following line of code in one of the stylesheets: <xsl:value-of select="format-number(number(ActEmpMoneyValue),'###,###0.00')" /> After transforming an XML document object with this stylesheet, the value in the XML node ActEmpMoneyValue is not calculated, but a flat value such as "19.31". After being processed as above on...
35
2365
by: Francine.Neary | last post by:
I'm finding it really hard to keep some of these things straight... For example, fputs is to puts as fprintf is to printf, except that fputs has the file handle at the end and fprintf at the beginning! Very illogical! And hard to remember. Now this can quite easily be corrected by macros, for example: #include <stdio.h> #define fputs(X,Y) fputs(Y,X)
17
2487
by: Jason Doucette | last post by:
I am converting a C-style unit into a C++ class. I have an implementation function that was defined in the .cpp file (so it was hidden from the interface that exists in the .h file). It uses a structure that is only needed by the implementation, so it were declared in the .cpp file, as well. Now, when converting this into a class, the class definition exists in the .h file, since it's required by the interface. The implementation...
0
9997
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9845
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
1
10981
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10499
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9675
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
8047
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6085
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4725
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 we have to send another system
3
3323
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.