Kitchens Sale Portsmouth. Thirty Ex Display Kitchens To Clear.
www.exdisplaykitchens1.co.uk £ 595 Each with appliances.Tel
01616-694785
[url=http://www.kitchenunits-portsmouth.co.uk]Kitchens Sale
Portsmouth[/url]
Am 05.10.2014 15:50, schrieb Nordlöw:
On Sunday, 5 October 2014 at 06:39:00 UTC, Sönke Ludwig wrote:
Judging by the log output it should be fixed (on vibe.d's side) with
[1] by using a version based dependency to the OpenSSL bindings with
an old version*. I've tagged a new RC-2 version now
On Wednesday, 8 October 2014 at 20:15:33 UTC, Chris Williams
wrote:
On Wednesday, 8 October 2014 at 18:15:08 UTC, ANtlord wrote:
It would be stable? I mean program, that will use C++ extern
interface.
Trying to link to C++ code will cause some work to solve build
issues, but there shouldn't
Are you looking for parallel?
http://dlang.org/library/std/parallelism/parallel.html
I have seen this, but I'm not sure how to use it.
Maybe:
float[][] maps = new float[#threads][resolution * resolution];
foreach(i, ref elem; parallel(maps)){
elem = generateTerrain(...);
}
Does this
On Thursday, 9 October 2014 at 10:10:20 UTC, Konstantin wrote:
Are you looking for parallel?
http://dlang.org/library/std/parallelism/parallel.html
I have seen this, but I'm not sure how to use it.
Maybe:
float[][] maps = new float[#threads][resolution * resolution];
foreach(i, ref elem;
Observe:
void main() {
int[3] a1 = [1, 3, 6];
int[] a2 = a1[] * 3; // line 3, Error
int[] a3 = a1.dup[] *= 3; // line 4, OK?
int[] a4 = (a1[] * 3).dup; // line 5, Error
}
Currently the operation in line 4 is accepted:
test.d(3,17): Error: array operation a1[] * 3
I'm a bit new to the inline assembler, I'm trying to use the `movdqu`
operation to move a 128 bit double quadword from a pointer location into
another location like this:
align(16) union __m128i { ubyte[16] data };
void store(__m128i* src, __m128i* dst) {
asm { movdqu [dst], src; }
}
On Thursday, 9 October 2014 at 12:37:20 UTC, Etienne wrote:
I'm a bit new to the inline assembler, I'm trying to use the
`movdqu` operation to move a 128 bit double quadword from a
pointer location into another location like this:
align(16) union __m128i { ubyte[16] data };
void
On 2014-10-09 8:54 AM, anonymous wrote:
This compiles:
align(16) union __m128i { ubyte[16] data; } /* note the position
of the semicolon */
void store(__m128i* src, __m128i* dst) {
asm
{
movdqu XMM0, [src]; /* note: [src] */
movdqu [dst], XMM0;
}
}
Yes,
Maybe someone can help with the more specific problem. I'm translating a
crypto engine here:
https://github.com/etcimon/botan/blob/master/source/botan/block/aes_ni/aes_ni.d
But I need this to work on DMD, LDC and GDC. I decided to write the
assembler code directly for the functions in this
On Thursday, 9 October 2014 at 13:29:27 UTC, Etienne wrote:
On 2014-10-09 8:54 AM, anonymous wrote:
This compiles:
align(16) union __m128i { ubyte[16] data; } /* note the
position
of the semicolon */
void store(__m128i* src, __m128i* dst) {
asm
{
movdqu XMM0, [src]; /*
On 2014-10-09 9:46 AM, anonymous wrote:
I'm out of my knowledge zone here, but it seems to work when you
move the pointers to registers first:
void store(__m128i* src, __m128i* dst) {
asm
{
mov RAX, src;
mov RBX, dst;
movdqu XMM0, [RAX];
On 10/09/2014 03:10 AM, Konstantin wrote:
Are you looking for parallel?
http://dlang.org/library/std/parallelism/parallel.html
I have seen this, but I'm not sure how to use it.
I have the following chapter with some examples:
http://ddili.org/ders/d.en/parallelism.html
If concurrency is
Hi everyone,
I'm just starting with D and i need a way to declare a byte array
something like:
byte[] arr = [ 0x00, 0xA4, 0x04];
This throws a int[] to byte[] cast error
Tried also these ones
byte[] arr = \x00\xA4\x04;
byte[] arr = [ '\x00', '\xA4', '\x04'];
byte[] arr = [ u'\x00', u'\xA4',
Anibal:
byte[] arr = [ 0x00, 0xA4, 0x04];
This throws a int[] to byte[] cast error
You want ubytes (unsigned bytes) because 0x04 is 164 that is
bigger than byte.max.
So use:
ubyte[] arr = [ 0x00, 0xA4, 0x04];
I also tried
byte[] arr = [cast(byte) 0x00, cast(byte)0xA4, cast(byte)
You want ubytes (unsigned bytes) because 0x04 is 164 that is
bigger than byte.max.
I'd like bytes to be named sbyte and ubyte in D, but Walter has
refused this.
Bye,
bearophile
On Friday, 3 October 2014 at 10:47:11 UTC, David Nadlinger wrote:
On Friday, 3 October 2014 at 08:47:07 UTC, Atila Neves wrote:
ld: .../libphobos2.a(sections_linux_570_420.o): undefined
reference to symbol '__tls_get_addr@@GLIBC_2.3'
/lib64/ld-linux-x86-64.so.2: error adding symbols: DSO
On Thursday, 9 October 2014 at 11:29:14 UTC, bearophile wrote:
Observe:
void main() {
int[3] a1 = [1, 3, 6];
int[] a2 = a1[] * 3; // line 3, Error
int[] a3 = a1.dup[] *= 3; // line 4, OK?
int[] a4 = (a1[] * 3).dup; // line 5, Error
}
Currently the operation in
On Thursday, 9 October 2014 at 11:29:14 UTC, bearophile wrote:
Observe:
void main() {
int[3] a1 = [1, 3, 6];
int[] a2 = a1[] * 3; // line 3, Error
int[] a3 = a1.dup[] *= 3; // line 4, OK?
int[] a4 = (a1[] * 3).dup; // line 5, Error
}
Currently the operation in
Hope this question is not too simple minded but,
In the TDPL it says:
To import one module from another, specify the name of the
module in an import declaration. The name must include the
relative path computed from the directory where compilation takes
place
Ok, but how does one
Am 08.10.2014 21:12, schrieb Etienne:
On 2014-10-08 3:04 PM, Benjamin Thaut wrote:
I strongly advise to not use core.simd at this point. It is in a
horribly broken state and generates code that is far from efficient. If
I think I'll have to re-write the xmmintrin.h functions I need as string
It's the current working directory, i.e. the directory from where
you run the compiler.
IDEs usually use the root directory of the project as working
directory.
Marc Schütz:
It's equivalent to:
int[] tmp = a1[] * 3;
int[] a4 = tmp.dup;
The first part is of course identical to line 3, so this should
be an error, too. Normal rules for evaluation order require
`a1[] * 3` to be evaluated before `(...).dup`, so where is it
supposed to store the
On Thursday, 9 October 2014 at 15:41:48 UTC, bearophile wrote:
You want ubytes (unsigned bytes) because 0x04 is 164 that is
bigger than byte.max.
I'd like bytes to be named sbyte and ubyte in D, but Walter has
refused this.
Bye,
bearophile
Got it to work, thanks a lot!
On 2014-10-09 2:32 PM, Benjamin Thaut wrote:
I know that GDC stopped supporting D style inline asm a while ago. If
you need inline asm with GDC you have to use the gcc style inline
assembly. I don't know about ldc though. But generally you want to use
the official intrinsics with gdc and ldc
Hi everyone,
I'm trying to something like a tree structure.
The following:
import std.container;
class Tree
{
private SList!Tree subTree;
}
Produces: class Tree no size yet for forward reference.
How i should proceed in order to keep this declaration?
Thanks a lot!
PD: (You guys
On Thu, 09 Oct 2014 15:26:52 +
Anibal via Digitalmars-d-learn digitalmars-d-learn@puremagic.com
wrote:
additionally to all bearophile said, there is another interesting thing
in D: special string literals for hex data.
immutable ubyte[] n = cast(typeof(n))xdeadf00d;
or even:
immutable
On Thursday, 9 October 2014 at 19:04:56 UTC, Anibal wrote:
Hi everyone,
I'm trying to something like a tree structure.
The following:
import std.container;
class Tree
{
private SList!Tree subTree;
}
Produces: class Tree no size yet for forward reference.
How i should proceed in
On Thursday, 9 October 2014 at 18:21:32 UTC, WhatMeWorry wrote:
To import one module from another, specify the name of the
module in an import declaration. The name must include the
relative path computed from the directory where compilation
takes place
This is not true. It is a REALLY
On Thursday, 9 October 2014 at 19:29:13 UTC, ketmar via
Digitalmars-d-learn wrote:
On Thu, 09 Oct 2014 19:04:55 +
Anibal via Digitalmars-d-learn
digitalmars-d-learn@puremagic.com
wrote:
Hi everyone,
I'm trying to something like a tree structure.
The following:
import std.container;
I have a file named Object.d, in a directory called foo. The module
name of this file is foo.Object. As it happens, I'm using OS X which
uses a case insensitive file system. I also have another file, say
Bar.d in foo, with the module name foo.Bar. When I try to
compile/run Bar.d with rdmd as
On 10/9/14 3:30 PM, Adam D. Ruppe wrote:
On Thursday, 9 October 2014 at 18:21:32 UTC, WhatMeWorry wrote:
To import one module from another, specify the name of the module in
an import declaration. The name must include the relative path
computed from the directory where compilation takes place
ketmar:
additionally to all bearophile said, there is another
interesting thing in D: special string literals for hex data.
immutable ubyte[] n = cast(typeof(n))xdeadf00d;
or even:
immutable ubyte[] n = cast(typeof(n))xde ad f 0 0 d;
spaces doesn't matter, only digits do.
The problem
I think this is an issue with the import resolution, not module
system. The way it is implemented right now DMD stops searching
for object.d / object.di once it has found one. So while your
module name is not interpreted as object _original_ object.di
does not get imported and you get lot of
Am 09.10.2014 21:04, schrieb Etienne:
On 2014-10-09 2:32 PM, Benjamin Thaut wrote:
I know that GDC stopped supporting D style inline asm a while ago. If
you need inline asm with GDC you have to use the gcc style inline
assembly. I don't know about ldc though. But generally you want to use
the
On Thursday, 9 October 2014 at 20:29:44 UTC, Benjamin Thaut wrote:
Unforunately the gcc.buildints module seems to be generated
during compilation of gdc, so you might want to get a binary
version or compile it yourself to see the module.
By the way, LDC has ldc.gccbuiltins_x86 too. LLVM
How can you deep-copy a std.container.Array instance?
The actual array data is heap-allocated and reference-counted.
Assignment and .dup only create additional references.
Using a copy constructor yields an error:
Array!Foo x;
Array!Foo y = Array!Foo(x);
Error: template
On 2014-10-09 4:29 PM, Benjamin Thaut wrote:
I think a good starting point would be Manu's std.simd module. I don't
know if he is still working on it, but a old version can be found here:
https://github.com/TurkeyMan/simd/blob/master/std/simd.d
That's a great reference! I can do a lot from
On Thursday, 9 October 2014 at 21:14:46 UTC, qznc wrote:
How can you deep-copy a std.container.Array instance?
Ok, the deep-copy problem already got resolved on reddit: Use dup.
However, the error is still open. You cannot give an Array!X
argument to constructor/replace/insertBefore of
On 2014-10-09 5:05 PM, David Nadlinger wrote:
On Thursday, 9 October 2014 at 20:29:44 UTC, Benjamin Thaut wrote:
Unforunately the gcc.buildints module seems to be generated during
compilation of gdc, so you might want to get a binary version or
compile it yourself to see the module.
By the
On Wednesday, 8 October 2014 at 18:56:31 UTC, Etienne wrote:
I can't seem to find this function anywhere: __simd(void16*,
void16)
MOVDQU = void _mm_storeu_si128 ( __m128i *p, __m128i a)
MOVDQU = __m128i _mm_loadu_si128 ( __m128i *p)
Is there a module by now that allows to directly write
On Wednesday, 11 June 2014 at 08:58:58 UTC, monarch_dodra wrote:
auto slicer(alias isTerminator, Range)(Range input)
if (((isRandomAccessRange!Range hasSlicing!Range) ||
isSomeString!Range)
is(typeof(unaryFun!isTerminator(input.front
{
return SlicerResult!(unaryFun!isTerminator,
On Wednesday, 8 October 2014 at 23:34:47 UTC, Rikki Cattermole
wrote:
I have a client side templating solution you might be
interested in [0].
But not a fully featured sort of thing.
[0] https://github.com/rikkimax/client-templating
Thanks.
On Thursday, 9 October 2014 at 21:55:03 UTC, Nordlöw wrote:
On Wednesday, 11 June 2014 at 08:58:58 UTC, monarch_dodra wrote:
auto slicer(alias isTerminator, Range)(Range input)
if (((isRandomAccessRange!Range hasSlicing!Range) ||
isSomeString!Range)
On 2014-10-09 17:32, Etienne wrote:
That's very helpful, the problem remains that the API is unfamiliar. I
think most of the time, simd code will only need to be translated from
basic function calls, it would've been nice to have equivalents :-p
Sorry, I think I had a bad understanding. I
On Wednesday, 8 October 2014 at 00:25:57 UTC, Laeeth Isharc wrote:
Hi.
Thanks for the quick response.
The -defaultlib was left around from trying all kinds of
combinations of dmd and gcc. I am not used to gcc, and it will
take me some time to become properly acquainted with all the
On Tuesday, 30 September 2014 at 17:27:09 UTC, Adam D. Ruppe
wrote:
On Tuesday, 30 September 2014 at 17:22:44 UTC, Gary Willoughby
wrote:
What is a sink delegate?
Instead of
string toString() { return foo; }
for example, you would use:
void toString(void delegate(string) sink) { sink(foo);
On Friday, 10 October 2014 at 03:06:33 UTC, Joel wrote:
How do you use that toString? Maybe an example?
void main() {
Try t = Try(Joel, 35);
t.toString(s = writeln(s));
}
On 10/09/2014 08:06 PM, Joel wrote:
On Tuesday, 30 September 2014 at 17:27:09 UTC, Adam D. Ruppe wrote:
On Tuesday, 30 September 2014 at 17:22:44 UTC, Gary Willoughby wrote:
What is a sink delegate?
Instead of
string toString() { return foo; }
for example, you would use:
void
On Thursday, 9 October 2014 at 22:01:31 UTC, monarch_dodra wrote:
My quick guess is you are missing the *global* imports for the
restraints. The compiler doesn't complain because the
constraint is in a is(typeof(...)) test. The reason the
typeof fails is simply cause the compiler has no idea
50 matches
Mail list logo