On Thursday, 25 June 2015 at 01:32:22 UTC, Timon Gehr wrote:
[...]
Heres what I came up with... I love D so much 3
module util.binOpProxy;
import std.algorithm : joiner, map;
import std.array : array;
struct __typeproxy(T, string s)
{
enum op = s;
T payload;
auto
On Wednesday, 24 June 2015 at 19:04:38 UTC, Wyatt wrote:
On Wednesday, 17 June 2015 at 09:28:00 UTC, Tofu Ninja wrote:
I actually thought about it more, and D does have a bunch of
binary operators that no ones uses. You can make all sorts of
weird operators like +*, *~, +++, ---, *--, /++,
On 06/24/2015 11:41 PM, Tofu Ninja wrote:
On Wednesday, 24 June 2015 at 19:04:38 UTC, Wyatt wrote:
On Wednesday, 17 June 2015 at 09:28:00 UTC, Tofu Ninja wrote:
I actually thought about it more, and D does have a bunch of binary
operators that no ones uses. You can make all sorts of weird
On Wednesday, 17 June 2015 at 09:28:00 UTC, Tofu Ninja wrote:
I actually thought about it more, and D does have a bunch of
binary operators that no ones uses. You can make all sorts of
weird operators like +*, *~, +++, ---, *--, /++, ~~, ~-, -~,
--, ++, ^^+, in++, |-, %~, ect...
void
On Wednesday, 10 June 2015 at 15:44:40 UTC, Andrei Alexandrescu
wrote:
On 6/10/15 1:53 AM, ponce wrote:
On Wednesday, 10 June 2015 at 07:56:46 UTC, John Chapman wrote:
It's a shame ucent/cent never got implemented. But couldn't
they be
added to Phobos? I often need a 128-bit type with better
On Wednesday, 17 June 2015 at 09:28:00 UTC, Tofu Ninja wrote:
I actually thought about it more, and D does have a bunch of
binary operators that no ones uses. You can make all sorts of
weird operators like +*, *~, +++, ---, *--, /++, ~~, ~-, -~,
--, ++, ^^+, in++, |-, %~, ect...
+* is a
On Tuesday, 23 June 2015 at 16:33:29 UTC, Dominikus Dittes
Scherkl wrote:
On Wednesday, 17 June 2015 at 09:28:00 UTC, Tofu Ninja wrote:
I actually thought about it more, and D does have a bunch of
binary operators that no ones uses. You can make all sorts of
weird operators like +*, *~, +++,
On 6/19/15 9:50 PM, Joakim wrote:
Then there's always this:
http://www.theverge.com/2015/6/19/8811425/heinz-ketchup-qr-code-porn-site-fundorado
Not the fault of the QR code of course, just an expired domain name, but
still funny. :)
Oh man. Note to marketing department -- all QR codes must
On Sunday, 14 June 2015 at 01:57:37 UTC, Steven Schveighoffer
wrote:
On 6/13/15 11:46 AM, Nick Sabalausky wrote:
On 06/08/2015 03:55 AM, ezneh wrote:
- Create / read QR codes, maybe ? It seems we see more and
more QR Codes
here and there, so it could potentially be worth it
I see them
On Friday, 12 June 2015 at 01:55:15 UTC, Wyatt wrote:
From the outset, my thought was to strictly define the set of
(eight or so?) symbols for this. If memory serves, it was
right around the time Walter's rejected wholesale user-defined
operators because of exactly the problem you mention.
On Sunday, 7 June 2015 at 18:27:16 UTC, Robert burner Schadek
wrote:
Phobos is awesome, the libs of go, python and rust only have
better marketing.
As discussed on dconf, phobos needs to become big and blow the
rest out of the sky.
http://wiki.dlang.org/DIP80
lets get OT, please discuss
On Monday, 15 June 2015 at 08:12:17 UTC, anonymous wrote:
I understand 'optimize default implementation to the speed of
high quality BLAS for _any_/large matrix size'. Great if it is
done but imo there is no real pressure to do it and probably
needs lot of time of experts.
+1
On Monday, 15 June 2015 at 08:12:17 UTC, anonymous wrote:
sorry, I should read more careful. I understand 'optimize
default implementation to the speed of high quality BLAS for
_any_/large matrix size'. Great if it is done but imo there is
no real pressure to do it and probably needs lot of
On Monday, 15 June 2015 at 13:44:53 UTC, Dennis Ritchie wrote:
On Monday, 15 June 2015 at 10:00:43 UTC, Ilya Yaroshenko wrote:
N-dimensional slices is ready for comments!
It seems to me that the properties of the matrix require `row`
and `col` like this:
import std.stdio,
On Monday, 15 June 2015 at 10:00:43 UTC, Ilya Yaroshenko wrote:
N-dimensional slices is ready for comments!
It seems to me that the properties of the matrix require `row`
and `col` like this:
import std.stdio, std.experimental.range.ndslice, std.range :
iota;
void main() {
auto
On Monday, 15 June 2015 at 13:55:16 UTC, John Colvin wrote:
On Monday, 15 June 2015 at 13:44:53 UTC, Dennis Ritchie wrote:
On Monday, 15 June 2015 at 10:00:43 UTC, Ilya Yaroshenko wrote:
N-dimensional slices is ready for comments!
It seems to me that the properties of the matrix require
On Monday, 15 June 2015 at 14:32:20 UTC, Ilya Yaroshenko wrote:
I am note sure that we need something like `height`/row and
`width`/col for nd-slices. This kind of names can be used after
casting to the future `std.container.matrix`.
Here something similar implemented:
On Monday, 15 June 2015 at 13:44:53 UTC, Dennis Ritchie wrote:
On Monday, 15 June 2015 at 10:00:43 UTC, Ilya Yaroshenko wrote:
N-dimensional slices is ready for comments!
It seems to me that the properties of the matrix require `row`
and `col` like this:
import std.stdio,
On Sunday, 14 June 2015 at 21:50:02 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 14 June 2015 at 21:31:53 UTC, anonymous wrote:
2. Then write similar code with hardware optimized BLAS and
benchmark where the overhead between pure C/LLVM and BLAS
calls balance out to even.
may there are more
On Sunday, 14 June 2015 at 21:50:02 UTC, Ola Fosheim Grøstad
wrote:
Sure, but that is what I'd do if I had the time. Get a baseline
for what kind of NxN sizes D can reasonably be expected to deal
with in a naive brute force manner.
In case it isn't obvious: a potential advantage of a simple
On Sunday, 14 June 2015 at 12:01:47 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 14 June 2015 at 11:43:46 UTC, Ilya Yaroshenko wrote:
I am really don't understand what you mean with generic
keyword.
Do you want one matrix type that includes all cases???
I hope you does not.
Yes, that is what
On Sunday, 14 June 2015 at 11:43:46 UTC, Ilya Yaroshenko wrote:
I am really don't understand what you mean with generic
keyword.
Do you want one matrix type that includes all cases???
I hope you does not.
Yes, that is what generic programming is about. The type should
signify the semantics,
On Sunday, 14 June 2015 at 12:52:52 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 14 June 2015 at 12:18:39 UTC, Ilya Yaroshenko wrote:
std.range has a lot of types + D arrays.
The power in unified API (structural type system).
Yeah, I agree that templates in C++/D more or less makes those
type
I think there might be a disconnection in this thread. D only, or
D frontend?
There are hardware vendor and commercial libraries that are
heavily optimized for particular hardware configurations. There
is no way a D-only solution can beat those. As an example Apple
provides various
On Sunday, 14 June 2015 at 12:18:39 UTC, Ilya Yaroshenko wrote:
std.range has a lot of types + D arrays.
The power in unified API (structural type system).
Yeah, I agree that templates in C++/D more or less makes those
type systems structural-like, even though C is using nominal
typing.
On Sunday, 14 June 2015 at 14:02:59 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 14 June 2015 at 13:48:23 UTC, Ilya Yaroshenko wrote:
Alignment, strides (windows on a stream - I understand it like
Sliding Windows) are not a problem.
It isn't a problem if you use the best possible abstraction
On Sunday, 14 June 2015 at 09:07:19 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 14 June 2015 at 08:14:21 UTC, weaselcat wrote:
nobody uses general purpose linear matrix libraries for
games/graphics for a reason,
The reason is that C++ didn't provide anything. As a result
each framework
On Sunday, 14 June 2015 at 08:14:21 UTC, weaselcat wrote:
nobody uses general purpose linear matrix libraries for
games/graphics for a reason,
The reason is that C++ didn't provide anything. As a result each
framework provide their own and you get N different libraries
that are incompatible.
On Sunday, 14 June 2015 at 10:43:24 UTC, Ola Fosheim Grøstad
wrote:
I think there might be a disconnection in this thread. D only,
or D frontend?
There are hardware vendor and commercial libraries that are
heavily optimized for particular hardware configurations. There
is no way a D-only
On Sunday, 14 June 2015 at 09:25:25 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 14 June 2015 at 09:19:19 UTC, Ilya Yaroshenko wrote:
The reason is general purpose matrixes allocated at heap, but
small graphic matrices are plain structs.
No, the reason is that LA-libraries are C-libraries that
On Sunday, 14 June 2015 at 13:48:23 UTC, Ilya Yaroshenko wrote:
Alignment, strides (windows on a stream - I understand it like
Sliding Windows) are not a problem.
It isn't a problem if you use the best possible abstraction from
the start. It is a problem if you don't focus on it from the
On Sunday, 14 June 2015 at 09:19:19 UTC, Ilya Yaroshenko wrote:
The reason is general purpose matrixes allocated at heap, but
small graphic matrices are plain structs.
No, the reason is that LA-libraries are C-libraries that also
deal with variable sized matrices.
A good generic API can
On Sunday, 14 June 2015 at 10:15:08 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 14 June 2015 at 09:59:22 UTC, Ilya Yaroshenko wrote:
We need D own BLAS implementation to do it.
Why can't you use version for those that want to use a BLAS
library for the implementation?
Those who want
On Sunday, 14 June 2015 at 09:59:22 UTC, Ilya Yaroshenko wrote:
We need D own BLAS implementation to do it.
Why can't you use version for those that want to use a BLAS
library for the implementation?
Those who want replications of LAPACK/LINPACK APIs can use
separate bindings? And those
On Sunday, 14 June 2015 at 02:56:04 UTC, jmh530 wrote:
On Saturday, 13 June 2015 at 11:18:54 UTC, Ola Fosheim Grøstad
wrote:
I think linear algebra should have the same syntax for small
and large matrices and switch representation behind the scenes.
Switching representations behind the
On Saturday, 13 June 2015 at 10:35:55 UTC, Tofu Ninja wrote:
On Saturday, 13 June 2015 at 08:45:20 UTC, John Colvin wrote:
The tiny subset of numerical linear algebra that is relevant
for graphics (mostly very basic operations, 2,3 or 4
dimensions) is not at all representative of the whole.
On Sunday, 14 June 2015 at 15:15:38 UTC, Ilya Yaroshenko wrote:
A naive basic matrix library is simple to write, I don't need
standard library support for that + I get it to work the way I
want by using SIMD registers directly... = I probably would
not use it if I could implement it in less
On Sunday, 14 June 2015 at 18:05:33 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 14 June 2015 at 15:15:38 UTC, Ilya Yaroshenko wrote:
A naive basic matrix library is simple to write, I don't need
standard library support for that + I get it to work the way
I want by using SIMD registers
On Sunday, 14 June 2015 at 14:25:11 UTC, Ilya Yaroshenko wrote:
I am sorry for this trolling:
Lisp is the best abstraction, thought.
Even it if was, it does not provide the meta info and alignment
type constraints that makes it possible to hardware/SIMD optimize
it behind the scenes.
For
On Sunday, 14 June 2015 at 14:46:36 UTC, Ola Fosheim Grøstad
wrote:
Yes, C++ templates are a hard nut to crack, if D had added
excellent pattern matching to its meta programming repertoire
the I think this would be enough to put D in a different league.
https://github.com/solodon4/Mach7
A naive basic matrix library is simple to write, I don't need
standard library support for that + I get it to work the way I
want by using SIMD registers directly... = I probably would
not use it if I could implement it in less than 10 hours.
A naive std.algorithm and std.range is easy to
On Sunday, 14 June 2015 at 18:49:21 UTC, Ilya Yaroshenko wrote:
Yes, but it would be hard to create SIMD optimised version.
Then again clang is getting better at this stuff.
What do you think about this chain of steps?
1. Create generalised (only type template and my be flags) BLAS
1. Create generalised (only type template and my be flags)
BLAS algorithms (probably slow) with CBLAS like API.
See [1] (the Matmul benchmark) Julia Native is probably backed
with Intel MKL or OpenBLAS. D version was optimized by Martin
Nowak [2] and is still _much_ slower.
2. Allow users to
On Sunday, 14 June 2015 at 21:31:53 UTC, anonymous wrote:
2. Then write similar code with hardware optimized BLAS and
benchmark where the overhead between pure C/LLVM and BLAS
calls balance out to even.
may there are more important / beneficial things to work on -
assuming total time of
Another thing worth noting is that I believe Intel has put some
effort into next gen (?) LLVM/Clang for autovectorizing into
AVX2. It might be worth looking into as it uses a mask that
allows the CPU to skip computations that would lead to no change,
but I think it is only available on last
On Sat, 13 Jun 2015 21:57:42 -0400, Steven Schveighoffer wrote:
A rather cool usage of QR code I saw was a sticker on a device that was
a link to the PDF of the manual.
it's k001, but i'll take a printed URL for it in any time. the old good
URL that i can read with my eyes.
signature.asc
On Saturday, 13 June 2015 at 11:18:54 UTC, Ola Fosheim Grøstad
wrote:
I think linear algebra should have the same syntax for small
and large matrices and switch representation behind the scenes.
Switching representations behind the scenes? Sounds complicated.
I would think that if you were
On 6/13/15 11:46 AM, Nick Sabalausky wrote:
On 06/08/2015 03:55 AM, ezneh wrote:
- Create / read QR codes, maybe ? It seems we see more and more QR Codes
here and there, so it could potentially be worth it
I see them everywhere, but does anyone ever actually use them? Usually
it's just an
On 06/13/2015 12:35 PM, Tofu Ninja wrote:
On Saturday, 13 June 2015 at 08:45:20 UTC, John Colvin wrote:
The tiny subset of numerical linear algebra that is relevant for
graphics (mostly very basic operations, 2,3 or 4 dimensions) is not at
all representative of the whole. The algorithms are
On Saturday, 13 June 2015 at 16:53:22 UTC, Nick Sabalausky wrote:
On 06/07/2015 02:27 PM, Robert burner Schadek wrote:
Phobos is awesome, the libs of go, python and rust only have
better
marketing.
As discussed on dconf, phobos needs to become big and blow the
rest out
of the sky.
On 06/08/2015 03:55 AM, ezneh wrote:
- Create / read QR codes, maybe ? It seems we see more and more QR Codes
here and there, so it could potentially be worth it
I see them everywhere, but does anyone ever actually use them? Usually
it's just an obvious link to some company's
On Sat, 13 Jun 2015 11:46:41 -0400, Nick Sabalausky wrote:
Maybe I'm just not seeing it, but I suspect QR is more someone that
companies *want* people to care about, rather than something anyone
actually uses.
same for me.
signature.asc
Description: PGP signature
On 06/07/2015 02:27 PM, Robert burner Schadek wrote:
Phobos is awesome, the libs of go, python and rust only have better
marketing.
As discussed on dconf, phobos needs to become big and blow the rest out
of the sky.
http://wiki.dlang.org/DIP80
lets get OT, please discuss
What are the
On Sunday, 7 June 2015 at 18:27:16 UTC, Robert burner Schadek
wrote:
Phobos is awesome, the libs of go, python and rust only have
better marketing.
As discussed on dconf, phobos needs to become big and blow the
rest out of the sky.
http://wiki.dlang.org/DIP80
lets get OT, please discuss
On Friday, 12 June 2015 at 17:56:53 UTC, Tofu Ninja wrote:
On Friday, 12 June 2015 at 17:10:08 UTC, jmh530 wrote:
On Friday, 12 June 2015 at 03:35:31 UTC, Rikki Cattermole
wrote:
Humm, work on getting gl3n into phobos or work on my ODBC
driver manager. Tough choice.
I can only speak for
On Saturday, 13 June 2015 at 11:05:19 UTC, John Colvin wrote:
Linear algebra for graphics is the specialised case, not the
other way around. As a possible name for something like gl3n in
phobos, I like std.math.geometry
A geometry library is different, it should be type safe when it
comes to
On 13/06/2015 10:35 p.m., Tofu Ninja wrote:
On Saturday, 13 June 2015 at 08:45:20 UTC, John Colvin wrote:
The tiny subset of numerical linear algebra that is relevant for
graphics (mostly very basic operations, 2,3 or 4 dimensions) is not at
all representative of the whole. The algorithms are
On Saturday, 13 June 2015 at 08:45:20 UTC, John Colvin wrote:
The tiny subset of numerical linear algebra that is relevant
for graphics (mostly very basic operations, 2,3 or 4
dimensions) is not at all representative of the whole. The
algorithms are different and the APIs are often necessarily
On Saturday, 13 June 2015 at 10:35:55 UTC, Tofu Ninja wrote:
On Saturday, 13 June 2015 at 08:45:20 UTC, John Colvin wrote:
The tiny subset of numerical linear algebra that is relevant
for graphics (mostly very basic operations, 2,3 or 4
dimensions) is not at all representative of the whole.
On Saturday, 13 June 2015 at 10:37:39 UTC, Rikki Cattermole wrote:
On 13/06/2015 10:35 p.m., Tofu Ninja wrote:
On Saturday, 13 June 2015 at 08:45:20 UTC, John Colvin wrote:
[...]
I think there is a conflict of interest with what people want.
There
seem to be people like me who only want or
Good start:
http://code.dlang.org/packages/dip80-ndslice
https://github.com/9il/dip80-ndslice/blob/master/source/std/experimental/range/ndslice.d
I miss the function `sliced` in Phobos.
On 12 June 2015 at 15:22, Ilya Yaroshenko via Digitalmars-d
digitalmars-d@puremagic.com wrote:
On Friday, 12 June 2015 at 00:51:04 UTC, Manu wrote:
On 10 June 2015 at 02:40, Ilya Yaroshenko via Digitalmars-d
digitalmars-d@puremagic.com wrote:
On Tuesday, 9 June 2015 at 16:18:06 UTC, Manu
On Friday, 12 June 2015 at 17:56:53 UTC, Tofu Ninja wrote:
Matrix math is matrix math, it being for ogl makes no real
difference.
I think it’s a little more complicated than that. BLAS and LAPACK
(or variants on them) are low-level matrix math libraries that
many higher-level libraries
On 13/06/2015 7:45 a.m., jmh530 wrote:
On Friday, 12 June 2015 at 17:56:53 UTC, Tofu Ninja wrote:
Matrix math is matrix math, it being for ogl makes no real difference.
I think it’s a little more complicated than that. BLAS and LAPACK (or
variants on them) are low-level matrix math libraries
On Friday, 12 June 2015 at 11:00:20 UTC, Manu wrote:
Low-level optimisation is a sliding scale, not a binary
position.
Reaching 'optimal' state definitely requires careful
consideration of
all the details you refer to, but there are a lot of
improvements that
can be gained from quickly
On Friday, 12 June 2015 at 03:18:31 UTC, Tofu Ninja wrote:
What would the new order of operations be for these new
operators?
Hadn't honestly thought that far. Like I said, it was more of a
nascent idea than a coherent proposal (probably with a DIP and
many more words). It's an
On Friday, 12 June 2015 at 03:35:31 UTC, Rikki Cattermole wrote:
Humm, work on getting gl3n into phobos or work on my ODBC
driver manager. Tough choice.
I can only speak for myself. I'm sure there's a lot of value in
solid ODBC support. I use SQL some, but I use matrix math more.
I'm not
On Friday, 12 June 2015 at 17:10:08 UTC, jmh530 wrote:
On Friday, 12 June 2015 at 03:35:31 UTC, Rikki Cattermole wrote:
Humm, work on getting gl3n into phobos or work on my ODBC
driver manager. Tough choice.
I can only speak for myself. I'm sure there's a lot of value in
solid ODBC support.
On 6/11/15 5:17 AM, Steven Schveighoffer wrote:
On 6/11/15 4:15 AM, Marc =?UTF-8?B?U2Now7x0eiI=?= schue...@gmx.net
wrote:
On Wednesday, 10 June 2015 at 20:31:52 UTC, Steven Schveighoffer wrote:
OK, thanks for the explanation. I'd do it the other way around:
Flag!threadlocal, since we should be
On 6/11/15 4:15 AM, Marc =?UTF-8?B?U2Now7x0eiI=?= schue...@gmx.net
wrote:
On Wednesday, 10 June 2015 at 20:31:52 UTC, Steven Schveighoffer wrote:
OK, thanks for the explanation. I'd do it the other way around:
Flag!threadlocal, since we should be safe by default.
`RefCounted!T` is also
On Tuesday, 9 June 2015 at 03:26:25 UTC, Ilya Yaroshenko wrote:
There are
https://github.com/9il/simple_matrix and
https://github.com/9il/cblas .
I will try to rework them for Phobos.
Any ideas and suggestions?
A well-supported matrix math library would definitely lead to me
using D more.
On Thursday, 11 June 2015 at 21:30:22 UTC, jmh530 wrote:
Most of what I discuss below is just syntactical sugar for some
stuff that could be accomplished with loops or std.algorithm,
Your post reminds me of two things I've considered attempting in
the past:
1) a set of operators that have
On Friday, 12 June 2015 at 00:51:04 UTC, Manu wrote:
On 10 June 2015 at 02:40, Ilya Yaroshenko via Digitalmars-d
digitalmars-d@puremagic.com wrote:
On Tuesday, 9 June 2015 at 16:18:06 UTC, Manu wrote:
On 10 June 2015 at 01:26, Ilya Yaroshenko via Digitalmars-d
digitalmars-d@puremagic.com
On 10 June 2015 at 02:40, Ilya Yaroshenko via Digitalmars-d
digitalmars-d@puremagic.com wrote:
On Tuesday, 9 June 2015 at 16:18:06 UTC, Manu wrote:
On 10 June 2015 at 01:26, Ilya Yaroshenko via Digitalmars-d
digitalmars-d@puremagic.com wrote:
I believe that Phobos must support some common
On Friday, 12 June 2015 at 00:51:04 UTC, Manu wrote:
Perhaps you've never worked with incompetent programmers (in my
experience, 50% of the professional workforce).
Programmers, on average, don't know maths. They literally have
no idea
how to simplify an algebraic expression.
I think there are
On Friday, 12 June 2015 at 01:55:15 UTC, Wyatt wrote:
From the outset, my thought was to strictly define the set of
(eight or so?) symbols for this. If memory serves, it was
right around the time Walter's rejected wholesale user-defined
operators because of exactly the problem you mention.
On 12/06/2015 9:30 a.m., jmh530 wrote:
On Tuesday, 9 June 2015 at 03:26:25 UTC, Ilya Yaroshenko wrote:
There are
https://github.com/9il/simple_matrix and
https://github.com/9il/cblas .
I will try to rework them for Phobos.
Any ideas and suggestions?
A well-supported matrix math library
On Thursday, 11 June 2015 at 22:36:28 UTC, Wyatt wrote:
1) a set of operators that have no meaning unless an overload
is specifically provided (for dot product, dyadic transpose,
etc.) and
I see your point, but I think it might be a bit risky if you
allow too much freedom for overloading
On 10 June 2015 at 03:04, John Colvin via Digitalmars-d
digitalmars-d@puremagic.com wrote:
On Tuesday, 9 June 2015 at 16:45:33 UTC, Manu wrote:
On 10 June 2015 at 02:32, John Colvin via Digitalmars-d
digitalmars-d@puremagic.com wrote:
On Tuesday, 9 June 2015 at 16:18:06 UTC, Manu wrote:
On Friday, 12 June 2015 at 00:11:16 UTC, jmh530 wrote:
On Thursday, 11 June 2015 at 22:36:28 UTC, Wyatt wrote:
1) a set of operators that have no meaning unless an overload
is specifically provided (for dot product, dyadic transpose,
etc.) and
I see your point, but I think it might be a
On Wednesday, 10 June 2015 at 20:31:52 UTC, Steven Schveighoffer
wrote:
OK, thanks for the explanation. I'd do it the other way around:
Flag!threadlocal, since we should be safe by default.
`RefCounted!T` is also thread-local by default, only
`shared(RefCounted!T)` needs to use atomic
On 6/9/15 5:46 PM, Andrei Alexandrescu wrote:
On 6/9/15 1:53 PM, Steven Schveighoffer wrote:
On 6/9/15 2:59 PM, Andrei Alexandrescu wrote:
On 6/9/15 11:42 AM, Dennis Ritchie wrote:
And finally `std.bigint` offers good (but not outstanding)
performance.
BigInt should use reference counting.
On Tuesday, 9 June 2015 at 16:14:24 UTC, Dennis Ritchie wrote:
On Tuesday, 9 June 2015 at 15:26:43 UTC, Ilya Yaroshenko wrote:
D definitely needs BLAS API support for matrix multiplication.
Best BLAS libraries are written in assembler like openBLAS.
Otherwise D will have last position in
On Wed, 10 Jun 2015 09:12:15 +, John Chapman wrote:
On Wednesday, 10 June 2015 at 07:56:46 UTC, John Chapman wrote:
It's a shame ucent/cent never got implemented. But couldn't they be
added to Phobos? I often need a 128-bit type with better precision than
float and double.
Other things
On Wednesday, 10 June 2015 at 09:30:37 UTC, Robert burner Schadek
wrote:
On Wednesday, 10 June 2015 at 09:12:17 UTC, John Chapman wrote:
Logging
std.experimental.logger!?
Perfect, he said sheepishly.
On Wednesday, 10 June 2015 at 08:50:31 UTC, Dennis Ritchie wrote:
On Wednesday, 10 June 2015 at 08:39:12 UTC, ixid wrote:
I suspect this is more about who the Mathematica and D users
are as Project Euler is mostly mathematical rather than code
optimization.
Here and I say
It's a shame ucent/cent never got implemented. But couldn't they
be added to Phobos? I often need a 128-bit type with better
precision than float and double.
On Wednesday, 10 June 2015 at 07:56:46 UTC, John Chapman wrote:
It's a shame ucent/cent never got implemented. But couldn't
they be added to Phobos? I often need a 128-bit type with
better precision than float and double.
I think the next release of LDC will support it, at least on some
On Wednesday, 10 June 2015 at 09:12:17 UTC, John Chapman wrote:
Logging
std.experimental.logger!?
On Wednesday, 10 June 2015 at 08:39:12 UTC, ixid wrote:
I suspect this is more about who the Mathematica and D users
are as Project Euler is mostly mathematical rather than code
optimization. More of the Mathematica users would have strong
maths backgrounds. I haven't felt held back by D at
On Wednesday, 10 June 2015 at 07:56:46 UTC, John Chapman wrote:
It's a shame ucent/cent never got implemented. But couldn't
they be added to Phobos? I often need a 128-bit type with
better precision than float and double.
Other things I often have a need for:
Weak references
Queues, stacks,
On Wednesday, 10 June 2015 at 07:56:46 UTC, John Chapman wrote:
It's a shame ucent/cent never got implemented. But couldn't
they be added to Phobos? I often need a 128-bit type with
better precision than float and double.
FWIW:
On Wednesday, 10 June 2015 at 08:39:12 UTC, ixid wrote:
I suspect this is more about who the Mathematica and D users
are as Project Euler is mostly mathematical rather than code
optimization.
Here and I say that despite the fact that in D BigInt not
optimized very well, it
On Wednesday, 10 June 2015 at 09:12:17 UTC, John Chapman wrote:
HMAC (for OAuth)
https://github.com/D-Programming-Language/phobos/pull/3233
Unfortunately it triggers a module cycle bug on FreeBSD that I
can't figure out, so it hasn't been merged yet.
On 6/10/15 1:53 AM, ponce wrote:
On Wednesday, 10 June 2015 at 07:56:46 UTC, John Chapman wrote:
It's a shame ucent/cent never got implemented. But couldn't they be
added to Phobos? I often need a 128-bit type with better precision
than float and double.
FWIW:
On 6/10/15 11:49 AM, Andrei Alexandrescu wrote:
On 6/10/15 3:52 AM, Steven Schveighoffer wrote:
On 6/9/15 5:46 PM, Andrei Alexandrescu wrote:
On 6/9/15 1:53 PM, Steven Schveighoffer wrote:
On 6/9/15 2:59 PM, Andrei Alexandrescu wrote:
On 6/9/15 11:42 AM, Dennis Ritchie wrote:
And finally
On Wednesday, 10 June 2015 at 09:43:47 UTC, ixid wrote:
You rarely need to use BigInt for heavy lifting though, often
it's just summing, not that I would argue against optimization.
I think speed is absolutely vital and one of the most powerful
things we could do to promote D would be to run
On 6/10/15 3:52 AM, Steven Schveighoffer wrote:
On 6/9/15 5:46 PM, Andrei Alexandrescu wrote:
On 6/9/15 1:53 PM, Steven Schveighoffer wrote:
On 6/9/15 2:59 PM, Andrei Alexandrescu wrote:
On 6/9/15 11:42 AM, Dennis Ritchie wrote:
And finally `std.bigint` offers good (but not outstanding)
On Tuesday, 9 June 2015 at 06:59:07 UTC, Andrei Alexandrescu
wrote:
On 6/8/15 8:26 PM, Ilya Yaroshenko wrote:
On Sunday, 7 June 2015 at 18:27:16 UTC, Robert burner Schadek
wrote:
Phobos is awesome, the libs of go, python and rust only have
better
marketing.
As discussed on dconf, phobos needs
size_t anyNumber;
auto ar = new int[3 * 8 * 9 + anyNumber];
auto slice = Slice[0..3, 4..8, 1..9];
assert(ar.canBeSlicedWith(slice)); //checks that ar.length = 3
* 8 * 9
auto tensor = ar.sliced(slice);
tensor[0, 1, 2] = 4;
auto matrix = tensor[0..$, 1, 0..$];
assert(matrix[0, 2] == 4);
1 - 100 of 158 matches
Mail list logo