I want output C or maybe even Cool ...
What's benefits this would give?
On Saturday, 18 October 2014 at 09:29:10 UTC, Suliman wrote:
What's benefits this would give?
apart from the hack-factor a backend that generates _nice_ C-code
is a really
usefil thing to have.
For example if you want to program microcontrollers in D.
There were 15 forks of DFL on github (some of them working fine
with 2.066), you made a 16nth, with another name. ;)
What's the point?
Btw, your version (just like most others) contains bugs causing
the app to crash on exit. The issue is with destructors (in
Timer and Tooltip, for example)
On 10/18/2014 05:49 AM, ponce wrote:
I think we need some place (could be just a NG thread?) to express users
needs for library/bindings. Else we don't really know what is missing.
A wiki page might be better, so that it can be modified in place and
always be up to date with requests and
On Saturday, 18 October 2014 at 05:22:54 UTC, Walter Bright wrote:
2. If (1) cannot be done, then write the unittests like:
{
openfile();
scope (exit) closefile();
scope (failure) assert(0);
... use enforce() instead of assert() ...
}
3. In a script that compiles/runs the
Am Fri, 17 Oct 2014 17:25:46 +
schrieb monarch_dodra monarchdo...@gmail.com:
But maybe this answers your question?
import std.stdio;
struct S
{
int* p;
this(this)
{
++*p;
}
}
void main()
{
immutable i = 0;
auto s1 = immutable(S)(i);
On Saturday, 18 October 2014 at 05:54:01 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 18 October 2014 at 04:35:07 UTC, Walter Bright
wrote:
Larger mantissa can help a little bit, but only a little bit.
https://en.wikipedia.org/wiki/Kahan_summation_algorithm
On Friday, 17 October 2014 at 13:44:24 UTC, ketmar via
Digitalmars-d wrote:
On Fri, 17 Oct 2014 09:46:48 +
via Digitalmars-d digitalmars-d@puremagic.com wrote:
In D (and C++) you would get:
if (x ((x+1)0x)){…}
perfect. nice and straightforward way to do overflow checks.
On Saturday, 18 October 2014 at 06:43:28 UTC, Marco Leise wrote:
Am Fri, 17 Oct 2014 17:25:46 +
schrieb monarch_dodra monarchdo...@gmail.com:
But maybe this answers your question?
import std.stdio;
struct S
{
int* p;
this(this)
{
++*p;
}
}
void main()
{
On Saturday, 18 October 2014 at 08:21:47 UTC, eles wrote:
On Saturday, 18 October 2014 at 05:54:01 UTC, Ola Fosheim
Grøstad wrote:
On Saturday, 18 October 2014 at 04:35:07 UTC, Walter Bright
wrote:
Larger mantissa can help a little bit, but only a little bit.
On Saturday, 18 October 2014 at 08:58:22 UTC, John Colvin wrote:
As that article also points out (IIRC), you can got pretty good
results by divide-and-conquer without any extra work.
http://code.activestate.com/recipes/393090/
It is built into Python:
import math
a = [1e99,1.0,-1e99]
print
On Saturday, 18 October 2014 at 09:30:20 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 18 October 2014 at 08:58:22 UTC, John Colvin wrote:
As that article also points out (IIRC), you can got pretty
good results by divide-and-conquer without any extra work.
On Saturday, 18 October 2014 at 08:21:47 UTC, eles wrote:
On Saturday, 18 October 2014 at 05:54:01 UTC, Ola Fosheim
Grøstad wrote:
On Saturday, 18 October 2014 at 04:35:07 UTC, Walter Bright
wrote:
Larger mantissa can help a little bit, but only a little bit.
On Saturday, 18 October 2014 at 10:44:59 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 18 October 2014 at 08:21:47 UTC, eles wrote:
On Saturday, 18 October 2014 at 05:54:01 UTC, Ola Fosheim
Grøstad wrote:
On Saturday, 18 October 2014 at 04:35:07 UTC, Walter Bright
wrote:
Larger mantissa can
On Saturday, 18 October 2014 at 11:43:32 UTC, John Colvin wrote:
iota(101L).map!((x) = pi * x^^9),
iota(101L).map!((x) = -pi * x^^9)
Shouldn't the last expression be -pi * (100-x)^^9 ?
On Saturday, 18 October 2014 at 11:56:15 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 18 October 2014 at 11:43:32 UTC, John Colvin wrote:
iota(101L).map!((x) = pi * x^^9),
iota(101L).map!((x) = -pi * x^^9)
Shouldn't the last expression be -pi * (100-x)^^9 ?
Yeah, my
On Saturday, 18 October 2014 at 12:16:24 UTC, John Colvin wrote:
writeln(a.kahanSum);// 111.157
writeln(a.sum); // -1272
writeln(a.sort().kahanSum); // 0
Yes, but it is misleading, my test case was bad. Try to add a 1.0
element to the array.
a.append(1.0)
a = sorted(a)
On Saturday, 18 October 2014 at 12:22:38 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 18 October 2014 at 12:16:24 UTC, John Colvin wrote:
writeln(a.kahanSum);// 111.157
writeln(a.sum); // -1272
writeln(a.sort().kahanSum); // 0
Yes, but it is misleading, my test case was
On Saturday, 18 October 2014 at 10:44:59 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 18 October 2014 at 08:21:47 UTC, eles wrote:
On Saturday, 18 October 2014 at 05:54:01 UTC, Ola Fosheim
Grøstad wrote:
On Saturday, 18 October 2014 at 04:35:07 UTC, Walter Bright
wrote:
Larger mantissa can
On Saturday, 18 October 2014 at 12:48:00 UTC, eles wrote:
This might simply be a case biased in favor of pairwise
summation, as numbers ar symmetric.
I haven't used pairwise summation though. The best solution is to
partition based on exponent and use accurate integer arithmetics.
The first
Hi,
I was looking for some C++ Builder language extensions and found
this information about ARC in Embarcadero compilers.
Maybe it is relevant for the usual memory management discussions.
http://docwiki.embarcadero.com/RADStudio/XE6/en/Automatic_Reference_Counting_in_Delphi_Mobile_Compilers
Am Sat, 18 Oct 2014 08:28:40 +
schrieb monarch_dodra monarchdo...@gmail.com:
Consider that when passing a variable you can always remove
top level const-ness because a copy is made. This holds for
returns, parameters, assignments, ...
Post-blit is no different. The issue as I see it,
While trying to find a bug I had to reinstall DMD and GtkD so
I thought I'd collect some statistics.
Installation time for both DMD and GtkD built with it:
2.066.0: 443,45s user 72,33s system 160% cpu 5:21,55 total
2.066.1: 390,66s user 45,50s system 147% cpu 4:55,81 total
Wow, nice
On 2014-10-18 06:36, Walter Bright wrote:
This particular subthread is about unittests.
That doesn't make the problem go away.
--
/Jacob Carlborg
On 10/18/14, 4:43 AM, John Colvin wrote:
auto kahanSum(R)(R input)
{
double sum = 0.0;
double c = 0.0;
foreach(double el; input)
{
double y = el - c;
double t = sum + y;
c = (t - sum) - y;
sum = t;
}
return sum;
}
No need to
On 2014-10-18 07:09, Walter Bright wrote:
Which means they'll be program bugs, not environmental errors.
Yes, but just because I made a mistake in using a function (hitting an
assert) doesn't mean I want to have undefined behavior.
--
/Jacob Carlborg
On Saturday, 18 October 2014 at 15:17:09 UTC, Andrei Alexandrescu
wrote:
No need to implement it.
http://dlang.org/phobos/std_algorithm.html#.sum
It isn't accurate. Python's fsum is around 100 lines of c-code
and AFAIK based on this algorithm:
On Saturday, 18 October 2014 at 05:10:20 UTC, Walter Bright wrote:
I understand that some have to work with poorly written
libraries that incorrectly use assert. If that's the only issue
with those libraries, you're probably lucky :-) Short term, I
suggest editing the code of those
Demmel and Hida use different algorithms based on then input size:
http://www.cs.berkeley.edu/~demmel/AccurateSummation.pdf
Another overview of summation algorithms:
http://www.sigsam.org/bulletin/articles/147/sumnums.pdf
On Friday, 17 October 2014 at 09:17:52 UTC, ZombineDev wrote:
I saw [this][0] proposal for adding ranges to C++'s standard
library. The [paper][1] looks at D style ranges, but concludes:
Since iterators can implement D ranges, but D ranges cannot be
used to implement iterators, we conclude
On Saturday, 18 October 2014 at 15:39:36 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 18 October 2014 at 15:17:09 UTC, Andrei
Alexandrescu wrote:
No need to implement it.
http://dlang.org/phobos/std_algorithm.html#.sum
It isn't accurate.
Did you look at the doc. It's specially designed
On Saturday, 18 October 2014 at 16:46:31 UTC, monarch_dodra wrote:
Did you look at the doc. It's specially designed to be
accurate...
Change the docs?
On 10/18/2014 8:17 AM, Andrei Alexandrescu wrote:
On 10/18/14, 4:43 AM, John Colvin wrote:
auto kahanSum(R)(R input)
{
double sum = 0.0;
double c = 0.0;
foreach(double el; input)
{
double y = el - c;
double t = sum + y;
c = (t - sum) - y;
On 10/18/2014 9:16 AM, Sean Kelly wrote:
But dismissing ranges out of hand for not being sufficiently
powerful and foundational is just silly.
I agree. It's like foreach in D. It's less powerful and foundational than a
for loop (in fact, the compiler internally rewrites foreach into for),
On Saturday, 18 October 2014 at 17:31:18 UTC, Walter Bright wrote:
I agree. It's like foreach in D. It's less powerful and
foundational than a for loop (in fact, the compiler
internally rewrites foreach into for), but that takes nothing
away from how darned useful (and far less bug prone)
All that said, after a quick scan I really like the range
proposal for C++. In particular, the idea of positions is a nice
one, as it addresses an awkward issue with D ranges.
Zhu and Hayes (2010) «Algorithm 908: Online Exact Summation of
Floating-Point Streams» is compatible with ranges and looks
interesting:
http://s3.amazonaws.com/researchcompendia_prod/articles/990d22f230c4b4eb7796f0ed45b209eb-2013-12-23-01-53-27/a37-zhu.pdf
On 10/18/2014 8:21 AM, Jacob Carlborg wrote:
On 2014-10-18 07:09, Walter Bright wrote:
Which means they'll be program bugs, not environmental errors.
Yes, but just because I made a mistake in using a function (hitting an assert)
doesn't mean I want to have undefined behavior.
As I've said
On 10/18/2014 9:01 AM, Sean Kelly wrote:
So you consider the library interface to be user input?
The library designer has to make that decision, not the language.
What about calls that are used internally but also exposed as part of the
library interface?
The library designer has to make
On 10/18/2014 10:37 AM, monarch_dodra wrote:
On Saturday, 18 October 2014 at 17:31:18 UTC, Walter Bright wrote:
I agree. It's like foreach in D. It's less powerful and foundational than a
for loop (in fact, the compiler internally rewrites foreach into for), but
that takes nothing away from how
On 10/08/2014 10:01 PM, Andrei Alexandrescu wrote:
That's a bummer. Can we get the compiler to remove the if (__ctfe)
code after semantic checking?
Andrei
It seems that __ctfe is treated as constant in the backend.
At least there is no asm code generated for these examples (even without
On 10/08/2014 11:40 PM, Timon Gehr wrote:
This is probably a regression somewhere after 2.060, because with 2.060
I get
Error: variable __ctfe cannot be read at compile time
Error: expression __ctfe is not constant or does not evaluate to a bool
as I'd expect.
Marked the bugzilla case as
On Wednesday, 15 October 2014 at 14:42:30 UTC, Regan Heath wrote:
On Thu, 09 Oct 2014 09:50:44 +0100, Martin Nowak c...@dawg.eu
wrote:
Would this affect your code?
No
Do you think it makes your code better or worse?
Better. More clear
Is this just a pointless style change?
No
On Friday, 17 October 2014 at 18:27:34 UTC, Ary Borenszweig wrote:
Once its done you can compare its performance against other
languages with this benchmark:
https://github.com/kostya/benchmarks/tree/master/json
Wow, the C++Rapid parser is really impressive. I threw together
a test with
On Tuesday, 14 October 2014 at 13:29:33 UTC, Dmitry Olshansky
wrote:
Also it's universal as in any github-hosted D project, for
example here is an output for druntime:
http://wiki.dlang.org/Stuff_in_Druntime_That_Generates_Garbage
Still todo:
- a few bugs to fix in artifact labeling
One
On 2014-10-15 17:29:33 +, Trass3r said:
http://youtu.be/qwXq5MqY2ZA?t=33m57s
I wish we had diagnostics like that in D.
I have answered your call:
https://github.com/D-Programming-Language/phobos/pull/2627
Please comment.
-S.
On Saturday, 18 October 2014 at 08:22:25 UTC, monarch_dodra wrote:
On Friday, 17 October 2014 at 13:44:24 UTC, ketmar via
Digitalmars-d wrote:
On Fri, 17 Oct 2014 09:46:48 +
via Digitalmars-d digitalmars-d@puremagic.com wrote:
In D (and C++) you would get:
if (x ((x+1)0x)){…}
On 10/17/2014 2:46 AM, Ola Fosheim Grøstad
ola.fosheim.grostad+dl...@gmail.com wrote:
It isn't even obvious that a byte should be 8 bits,
Oh come on!
http://dlang.org/type.html
On 10/16/2014 2:00 PM, bearophile wrote:
Just found with Reddit. C seems one step ahead of D with this:
http://developerblog.redhat.com/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan/
On the other hand, D is one step ahead of C with many of those (they are part of
the language, not an
On Saturday, 18 October 2014 at 19:53:23 UTC, Sean Kelly wrote:
On Friday, 17 October 2014 at 18:27:34 UTC, Ary Borenszweig
wrote:
Once its done you can compare its performance against other
languages with this benchmark:
https://github.com/kostya/benchmarks/tree/master/json
Wow, the
On Saturday, 18 October 2014 at 23:45:37 UTC, Walter Bright wrote:
On 10/17/2014 2:46 AM, Ola Fosheim Grøstad
ola.fosheim.grostad+dl...@gmail.com wrote:
It isn't even obvious that a byte should be 8 bits,
Oh come on!
Hey, that was a historically motivated reflection on the smallest
On 2014-10-18 21:52:30 +, Shammah Chancellor said:
On 2014-10-15 17:29:33 +, Trass3r said:
http://youtu.be/qwXq5MqY2ZA?t=33m57s
I wish we had diagnostics like that in D.
I have answered your call:
https://github.com/D-Programming-Language/phobos/pull/2627
Please comment.
-S.
I
I have something like this for mixin interfaces that require that
the host struct support certain semantics. There's a Traits
struct (concept-ish) that takes a set of strings for trait
identifiers and their definitions (which is some code that
compiles if and only if the trait is satisfied).
On Tue, 14 Oct 2014 01:48:12 +0300
ketmar via Digitalmars-d digitalmars-d@puremagic.com wrote:
some news for those who still interested:
* made const and static fields work
* made static methods work
* made @ConXXX attributes on methods and fields work
* added telnet sample (sorry, GNU/Linux
On 10/17/2014 12:04 PM, Kevin Lamonte wrote:
What do y'all think? Would you be comfortable with saying to people
implementing new runtimes, please version your differences from druntime in
this particular way ?
It's a good idea, but having a bunch of versions quickly devolves to an
On Saturday, 18 October 2014 at 02:00:42 UTC, RBfromME wrote:
but i don't find the basics any easier to learn than D's. The
biggest issue i personal find in getting deeper into a
language is the docs and examples. The python examples, beyond
the basics usually get write into OO so you find
On Friday, 17 October 2014 at 08:44:00 UTC, Paulo Pinto wrote:
On Friday, 17 October 2014 at 01:05:37 UTC, ketmar via
Digitalmars-d-learn wrote:
On Fri, 17 Oct 2014 00:52:14 +
MachineCode via Digitalmars-d-learn
digitalmars-d-learn@puremagic.com
wrote:
I don't understand. If at least it
I'm using gdc on Ubuntu 14.04. Is this ubuntu packaging issue?
bash:~/tmp$ cat test2.d
import std.uni, std.stdio;
void main() {
writeln(normalize(Hello));
}
bash:~/tmp$ gdc test2.d
/usr/include/d/4.8/std/uni.d:6301: error: undefined identifier
tuple
/usr/include/d/4.8/std/uni.d:6262:
Thanks for the thoughts Meta and Ali.
Laeeth.
On Wednesday, 15 October 2014 at 17:56:06 UTC, Ali Çehreli wrote:
On 10/15/2014 09:48 AM, Laeeth Isharc wrote:
struct RetStruct
{
double[] a;
double[] b;
}
RetStruct myfunction(double x)
That's my preference. Tuples would work
On Sat, 18 Oct 2014 10:01:51 +
slycelote via Digitalmars-d-learn digitalmars-d-learn@puremagic.com
wrote:
I'm using gdc on Ubuntu 14.04. Is this ubuntu packaging issue?
yes. current gdc works fine.
signature.asc
Description: PGP signature
On Wednesday, 15 October 2014 at 17:56:06 UTC, Ali Çehreli wrote:
- Unlike a struct, the members are anonymous. (Yes, tuples
members can have names as well but not when returning or
creating conveniently by 'return tuple(a, b)'.)
This works, but I agree it is a bit obscure (you may want to
On 2014-10-17 18:34, K.K. wrote:
I'm looking for suggestions for a GUI library, to create a
somewhat light GUI that can also be created without too much
fuss, and support for Windows Linux.
Have a look at DWT [1]. It's basically the only D GUI framework that
doesn't have any dependencies
On Saturday, 18 October 2014 at 00:53:57 UTC, ketmar via
Digitalmars-d-learn wrote:
On Sat, 18 Oct 2014 00:32:09 +
Lucas Burson via Digitalmars-d-learn
digitalmars-d-learn@puremagic.com wrote:
Wow, your changes made it much simpler. Thank you for the
suggestions and expertise ketmar :)
On Sat, 18 Oct 2014 16:56:09 +
Lucas Burson via Digitalmars-d-learn
digitalmars-d-learn@puremagic.com wrote:
Wow, your changes made it much simpler. Thank you for the
suggestions and expertise ketmar :)
you're welcome.
signature.asc
Description: PGP signature
Thanks for the extra suggestions! I'll check them out.
On Saturday, 18 October 2014 at 00:06:10 UTC, ketmar via
Digitalmars-d-learn wrote:
On Fri, 17 Oct 2014 23:31:45 +
Joakim via Digitalmars-d-learn
digitalmars-d-learn@puremagic.com
wrote:
You do realize that most people are clueless about how to fix
those also, right?
most people are
There is a mistake in the dil package.json
excludedSourceFiles should be an array of strings, not just a
string.
But I don't get those errors on my OSX.
On Sat, 18 Oct 2014 19:42:50 +
Joakim via Digitalmars-d-learn digitalmars-d-learn@puremagic.com
wrote:
most people are stupid.
No disagreement there, but even the smart ones can only learn so
much.
that's why we should teach kids alot of things while their minds are
clear and ready to
On Saturday, 18 October 2014 at 20:50:42 UTC, ketmar via
Digitalmars-d-learn wrote:
On Sat, 18 Oct 2014 19:42:50 +
Joakim via Digitalmars-d-learn
digitalmars-d-learn@puremagic.com
wrote:
most people are stupid.
No disagreement there, but even the smart ones can only learn
so much.
enum Values: string{
NONE = ,
Value1 = Apple,
Value2 = Peach,
Value3 = Lemon
}
Values lastHeldValue = Value3;
Is the lastHeldValue just pointer + length information, and it
points to Lemon; or is Lemon copied to another place in
memory?
I am doing comparison as if( lastHeldValue ==
Although perhaps unnecessary, I added DDoc documentation to my
module for a short description of the body. This showed up in the
place I wanted it to be in when I built the html documentation,
so I was pretty happy. (below the module name and before any
module members)
I then went to
On Saturday, 18 October 2014 at 23:51:53 UTC, tcak wrote:
enum Values: string{
NONE = ,
Value1 = Apple,
Value2 = Peach,
Value3 = Lemon
}
Values lastHeldValue = Value3;
Is the lastHeldValue just pointer + length information, and
it
points to Lemon; or is Lemon copied to another place
What is the best way to convert from a part of a ubyte[] to a float?
I've tried converting the ubyte[] into a uint, but neither casting the
uint to a float nor to!float work.
I suppose I could use a trick record union, but that seems inelegant.
If I use pointers, the alignment may
On Sat, 18 Oct 2014 23:38:35 +
Joakim via Digitalmars-d-learn digitalmars-d-learn@puremagic.com
wrote:
don't you think that we are going in circles now? not that i'm tired of
this conversation, but i see that we get each other's POVs, and have no
more arguments to convince each other. ;-)
i
On 10/18/2014 06:06 PM, Charles Hixson via Digitalmars-d-learn wrote:
What is the best way to convert from a part of a ubyte[] to a float?
I've tried converting the ubyte[] into a uint, but neither casting the
uint to a float nor to!float work.
I suppose I could use a trick record union, but
75 matches
Mail list logo