On Sunday, 10 July 2016 at 13:02:17 UTC, ag0aep6g wrote:
While messing with atomicLoad [1], I noticed that dmd lets me
implicitly convert values to/from shared without restrictions.
It's in the spec [2]. This seems bad to me.
[...]
Atomic loading and storing, from what I understand, is
On Wednesday, 6 July 2016 at 21:44:37 UTC, BitGuy wrote:
I'm trying to implement a feistel cipher that'll give the same
results regardless of the endianness of the machine it runs on.
To make the cipher I need to split a 64bit value into two 32bit
values, mess with them, and then put them back
On Monday, 27 June 2016 at 22:00:15 UTC, gummybears wrote:
Hi,
Today thought lets learn D. I am writing a compiler for a
language
and read D compiles very fast.
Switched my compiler from C++ to D and ran my test suite to use
D.
Doing somethin wrong as creating array of objects gives me a
On Monday, 20 June 2016 at 21:39:45 UTC, Joerg Joergonson wrote:
1810:
case 3:
auto arr = data.dup;
foreach(i; 0 .. arr.length) {
auto prev = i < bpp ? 0 : arr[i - bpp];
On Tuesday, 14 June 2016 at 17:37:40 UTC, Joerg Joergonson wrote:
On Tuesday, 14 June 2016 at 17:34:42 UTC, Joerg Joergonson
wrote:
This is how derelict does it, I simply moved them in to the
class for simplicity.
I mean glad: http://glad.dav1d.de/
It seems that a loader is required for
On Sunday, 12 June 2016 at 08:38:03 UTC, chmike wrote:
Fibers don't need synchronization to access shared data. This
removes the overhead of synchronization and simplifies
"multitheaded" programming greatly.
This is misleading. Any sort of cooperative system needs
synchronization when two or
On Saturday, 11 June 2016 at 02:46:00 UTC, Adam D. Ruppe wrote:
On Saturday, 11 June 2016 at 02:33:46 UTC, Alex Parrill wrote:
Mixins are statements.
No, they're not. Well, yes they are [1], but there are also
mixin expressions [2]. Not to be confused with the
TemplateMixin[3], which is
On Friday, 10 June 2016 at 22:38:29 UTC, Dechcaudron wrote:
I have the following code:
private string getVariableSignalWrappersName(VarType)()
{
return VarType.stringof ~ "SignalWrappers";
}
void addVariableListener(VarType)(int variableIndex, void
delegate(int, VarType))
{
alias
On Thursday, 9 June 2016 at 22:02:44 UTC, Joerg Joergonson wrote:
On Tuesday, 7 June 2016 at 22:09:58 UTC, Alex Parrill wrote:
Accessing a SQL server at compile time seems like a huge abuse
of CTFE (and I'm pretty sure it's impossible at the moment).
Why do I need to install and set up a MySQL
On Thursday, 9 June 2016 at 21:02:26 UTC, maik klein wrote:
Has this been done before?
Well, yes, the entire point of delegates is to be able to capture
variables (as opposed to function pointers, which cannot).
auto createADelegate(int captured) {
return (int a) => captured + a;
}
On Monday, 6 June 2016 at 21:57:20 UTC, Pie? wrote:
On Monday, 6 June 2016 at 21:31:32 UTC, Alex Parrill wrote:
But reading sensitive data at compile-time strikes me as
dangerous, depending on your use case. If you are reading
sensitive information at compile time, you are presumably
going to
On Monday, 6 June 2016 at 21:55:00 UTC, ag0aep6g wrote:
On 06/06/2016 11:25 PM, Alex Parrill wrote:
You might be able to get away with casting the const away, if
you are
sure it won't modify the hash or equality check.
Casting away const and then mutating has undefined behavior.
The
On Tuesday, 7 June 2016 at 04:31:56 UTC, ParticlePeter wrote:
On Monday, 6 June 2016 at 20:32:23 UTC, Alex Parrill wrote:
They'd be the same type, since you would define the vulkan
functions to take these structures instead of pointer or
integer types.
It relies on a lot of assumptions about
On Monday, 6 June 2016 at 17:31:52 UTC, Pie? wrote:
Is it possible to parse a file at compile time without
embedding it into the binary?
I have a sort of "configuration" file that defines how to
create some objects. I'd like to be able to read how to create
them but not have that config file
On Monday, 6 June 2016 at 20:40:12 UTC, Begah wrote:
I have a pretty weird error : Error: mutable method
isolated.graphics.g3d.model.Model.begin is not callable using a
const object
[...]
It may infer const from the type of `this.instance`, which may be
further modified if the method you
On Monday, 6 June 2016 at 18:43:33 UTC, ParticlePeter wrote:
On Saturday, 21 May 2016 at 06:36:53 UTC, tsbockman wrote:
...
As an example, if VK_NULL_HANDLE only ever needs to be
assigned to opaque types on the D side (that is, types that
serve only as an ID or address for communicating with
On Monday, 6 June 2016 at 18:33:36 UTC, ParticlePeter wrote:
On Monday, 6 June 2016 at 16:19:02 UTC, Alex Parrill wrote:
On Monday, 6 June 2016 at 09:43:23 UTC, ParticlePeter wrote:
In C NULL can be used as integer as well as null pointer.
Is there a way to create such a type in D?
The type
On Monday, 6 June 2016 at 09:43:23 UTC, ParticlePeter wrote:
In C NULL can be used as integer as well as null pointer.
Is there a way to create such a type in D?
The type should have only one value which is obviously (0/null).
A extern( C ) function should be able to take it as either one.
On Saturday, 4 June 2016 at 15:11:51 UTC, tcak wrote:
If you ignore the discouraged __gshared keyword, to be able to
share a variable between threads, you need to be using "shared"
keyword.
While designing your class with "shared" methods, the compiler
directly assumes that objects of this
On Wednesday, 1 June 2016 at 14:52:29 UTC, John Nixon wrote:
On Wednesday, 2 March 2016 at 21:37:56 UTC, Steven
Schveighoffer wrote:
Pointer copying is inherent in D. Everything is done at the
"head", deep copies are never implicit. This is a C-like
language, so one must expect this kind of
On Tuesday, 31 May 2016 at 20:18:34 UTC, default0 wrote:
I have no idea how licensing would work in that regard but
considering that DMDs backend is actively maintained and may
eventually even be ported to D, wouldn't it at some point
differ enough from Symantecs "original" backend to simply
On Friday, 27 May 2016 at 15:49:16 UTC, ArturG wrote:
On Friday, 27 May 2016 at 15:24:18 UTC, Adam D. Ruppe wrote:
On Friday, 27 May 2016 at 15:19:50 UTC, ArturG wrote:
yes but i have to check for that when some one does
Why? This is no different than if they set any of the other
four
On Monday, 30 May 2016 at 10:09:19 UTC, chmike wrote:
This code compile, but array appending doesn't work
alias Rebindable!(immutable(InfoImpl)) Info;
class InfoImpl
{
void foo() {}
static immutable(InfoImpl) info()
{
__gshared immutable InfoImpl x = new immutable
On Monday, 30 May 2016 at 12:53:07 UTC, Steven Schveighoffer
wrote:
On 5/30/16 5:35 AM, Dicebot wrote:
On Sunday, 29 May 2016 at 17:25:47 UTC, Steven Schveighoffer
wrote:
What problems are solvable only by not caching the front
element? I
can't think of any.
As far as I know, currently it
On Sunday, 29 May 2016 at 17:45:00 UTC, Steven Schveighoffer
wrote:
On 5/27/16 7:42 PM, Seb wrote:
So what about the convention to explicitely declare a
`.transient` enum
member on a range, if the front element value can change?
enum isTransient(R) = is(typeof(() {
static
On Sunday, 29 May 2016 at 00:42:56 UTC, maik klein wrote:
On Sunday, 29 May 2016 at 00:37:54 UTC, Alex Parrill wrote:
On Saturday, 28 May 2016 at 19:32:58 UTC, maik klein wrote:
Btw does this even work? I think the struct initializers have
to be
Foo foo = { someVar: 1 };
`:` instead of a
On Saturday, 28 May 2016 at 10:58:05 UTC, maik klein wrote:
derelict-vulcan only works on windows, dvulkan doesn't have the
platform dependend surface extensions for xlib, xcb, w32 and
wayland. Without them Vulkan is unusable for me.
I really don't care what I use, I just wanted something
On Thursday, 26 May 2016 at 07:51:46 UTC, Era Scarecrow wrote:
...
This smells like an XY problem [0]. Why exactly do you need the
internal layout of the array structure?
The line "not having to make another array to keep track of
lengths and then shorten them" is fairly vague.
On Wednesday, 25 May 2016 at 21:38:23 UTC, Atila Neves wrote:
There was talk in the forum of making it easier to come up
instantiations of say, an input range for testing purposes.
That got me thinking of how mocking frameworks make it easy to
pass in dependencies without having to write a
On Saturday, 19 March 2016 at 01:12:08 UTC, Alex Parrill wrote:
https://github.com/ColonelThirtyTwo/dvulkan
I've updated the bindings to Vulkan 1.0.13, and added a few fixes.
Platform support will come in a bit. I'm going to use void*
pointers for most of the platform-specific types, so you
On Saturday, 21 May 2016 at 02:04:23 UTC, Mike Parker wrote:
On Saturday, 21 May 2016 at 01:09:42 UTC, Alex Parrill wrote:
Looks like my best bet is to mark it as deprecated and point
them to Vk(Type).init instead.
I would prefer to do something like this:
enum VK_NULL_HANDLE_0 = 0;
enum
On Friday, 20 May 2016 at 22:10:51 UTC, tsbockman wrote:
Why do you need to?
Just use null for pointer types, and 0 for integers. D is not
C; you aren't *supposed* to be able to just copy-paste any
random C snippet into D and expect it to work without
modification.
If that's not a
(How) can I make a constant that is either zero or null depending
on how it is used?
Vulkan has a VK_NULL_HANDLE constant which in C is defined to be
zero. It is used as a null object for several types of objects.
In D however, zero is not implicitly convertible to a null
pointer, and vice
On Thursday, 19 May 2016 at 13:05:19 UTC, chmike wrote:
Hello,
I'm planning to call some posix functions core.sys.posix that
may set the errno value in case of error. e.g. read() or
write().
Checking the std.exception documentation I see that
ErrnoException may be thrown when errors
On Monday, 16 May 2016 at 12:10:58 UTC, ParticlePeter wrote:
This is in respect to announce thread:
https://forum.dlang.org/post/mdpjqdkenrnuxvruw...@forum.dlang.org
Please let me know if you had the chance to test the
functionality as requested in the announce thread.
All other question are
On Wednesday, 18 May 2016 at 21:28:56 UTC, Nordlöw wrote:
What's the preferred way in D to implement single-allocation
variable-sized arrays such as
/** Single-Allocation Array. */
struct ArrayN
{
ubyte length; // <= maxLength
size room; // allocated length
ubyte[0] data; //
On Sunday, 8 May 2016 at 14:11:31 UTC, Ali Çehreli wrote:
I like Alex Parrill's only() solution but it allocates a
dynamic array as well by doing the equivalent of [args] in the
guts of its implementation.
No it does not.
The constructor does `this.data = [values];`, but `this.data` is
a
On Friday, 6 May 2016 at 05:00:48 UTC, Erik Smith wrote:
Is there an existing way to adapt a parameter pack to an input
range? I would like to construct an array with it. Example:
void run(A...) (A args) {
Array!int a(toInputRange(args));
}
Use std.range.only:
On Thursday, 5 May 2016 at 07:49:46 UTC, aki wrote:
extern (C) int strcmp(char* string1, char* string2);
This signature of strcmp is incorrect. strcmp accepts const char*
arguments [1], which in D would be written as const(char)*. The
immutable(char)* values returned from toStringz are
On Tuesday, 3 May 2016 at 21:31:35 UTC, Erik Smith wrote:
C++ has template templates. I'm not sure how to achieve the
same effect where (in example below) the template function
myVariadic is passed to another function.
void myVaridatic(A...)(A a) {}
static void call(alias
On Monday, 2 May 2016 at 18:22:52 UTC, Erik Smith wrote:
Is there way to construct an "argument pack" from a non-static
array (like the switch below)? I need to transport a variadic
call through a void*.
switch (a.length) {
case 1: foo(a[1]); break;
case 2: foo(a[1], a[2]); break;
case
On Monday, 2 May 2016 at 16:39:13 UTC, vino wrote:
Hi All,
I am a newbie for D programming and need some help, I am
trying to write a program using the example given in the book
The "D Programming Language" written by "Andrei Alexandrescu"
with few changes such as the example program read
On Tuesday, 26 April 2016 at 09:07:59 UTC, Begah wrote:
I am trying to create an asset manager for my textures. I had
the idea ( it may be a wrong idea ) to create a hashmap of my
textures with a string as the key. When the program request a
texture, it firts check if it is in the hashmap and
On Thursday, 21 April 2016 at 13:42:50 UTC, Era Scarecrow wrote:
On Thursday, 21 April 2016 at 09:15:05 UTC, Thiez wrote:
On Thursday, 21 April 2016 at 04:07:52 UTC, Era Scarecrow
wrote:
I'd say either you specify the amount of retries, or give
some amount that would be acceptable for some
On Wednesday, 20 April 2016 at 22:44:37 UTC, ag0aep6g wrote:
On 20.04.2016 23:59, Alex Parrill wrote:
On Wednesday, 20 April 2016 at 17:09:29 UTC, Matt Kline wrote:
[...]
First, you can't assign anything to a void[], for the same
reason you
can't dereference a void*. This includes the slice
On Wednesday, 20 April 2016 at 17:09:29 UTC, Matt Kline wrote:
[...]
First, you can't assign anything to a void[], for the same reason
you can't dereference a void*. This includes the slice assignment
that you are trying to do in `buf[0..minLen] =
remainingData[0..minLen];`.
Cast the
On Wednesday, 20 April 2016 at 20:23:53 UTC, Era Scarecrow wrote:
The downside though is the requirement to throw may not be
necessary. Having a failed attempt at getting memory and
sleeping the program for 1-2 seconds before retrying could
succeed on a future attempt. For games this would
On Wednesday, 20 April 2016 at 19:18:58 UTC, Minas Mina wrote:
On Tuesday, 19 April 2016 at 22:28:27 UTC, Alex Parrill wrote:
I'm proposing that std.experimental.allocator.make, as well as
its friends, throw an exception when the allocator cannot
satisfy a request instead of returning null.
On Wednesday, 20 April 2016 at 13:41:27 UTC, Nordlöw wrote:
At
https://github.com/nordlow/phobos-next/blob/master/src/variant_pointer.d
I've implemented a pointer-only version of Variant called
VariantPointer.
I plan to use it to construct light-weight polymorphism in trie
containers for D
On Wednesday, 20 April 2016 at 12:32:48 UTC, Tofu Ninja wrote:
Is there a way to shallow copy an object when the type is
known? I cant seem to figure out if there is a standard way. I
can't just implement a copy function for the class, I need a
generic solution.
A generic class copy function
On Wednesday, 20 April 2016 at 17:09:29 UTC, Matt Kline wrote:
I'm doing some work with a REST API, and I wrote a simple
utility function that sets an HTTP's onSend callback to send a
string:
[...]
IO functions usually work with octets, not characters, so an
extra encoding step is needed.
On Wednesday, 20 April 2016 at 18:07:05 UTC, Alex Parrill wrote:
Yes, enforce helps (and I forgot it reruns its argument), but
its still boilerplate, and it throws a generic "enforcement
failed" exception instead of a more specific "out of memory"
exception unless you remember to specify your
On Wednesday, 20 April 2016 at 01:59:31 UTC, Vladimir Panteleev
wrote:
On Tuesday, 19 April 2016 at 22:28:27 UTC, Alex Parrill wrote:
* It eliminates the incredibly tedious, annoying, and
easy-to-forget boilerplate after every allocation to check if
the allocation succeeded.
FWIW, you can
I'm proposing that std.experimental.allocator.make, as well as
its friends, throw an exception when the allocator cannot satisfy
a request instead of returning null.
These are my reasons for doing so:
* It eliminates the incredibly tedious, annoying, and
easy-to-forget boilerplate after
On Saturday, 16 April 2016 at 11:48:56 UTC, denizzzka wrote:
Hi!
DMD and LDC2 complain about disabled opAssign, but I am not
used @disable and depend package "gfm" also isn't uses @disable.
...
Try removing the const from this line:
debug private const bool isLeafNode = false;
I suspect
On Saturday, 16 April 2016 at 02:42:55 UTC, Andrei Alexandrescu
wrote:
So the constraint on chain() is:
Ranges.length > 0 &&
allSatisfy!(isInputRange, staticMap!(Unqual, Ranges)) &&
!is(CommonType!(staticMap!(ElementType, staticMap!(Unqual,
Ranges))) == void)
Noice. Now, an alternative is to
On Sunday, 10 April 2016 at 18:08:58 UTC, Ryan Frame wrote:
Greetings.
The following code works:
void main() {
passfunc();
}
void passfunc(void function(string) f) {
f("Hello");
}
void func(string str) {
import std.stdio : writeln;
writeln(str);
}
Now if I change passfunc's
On Friday, 8 April 2016 at 14:08:39 UTC, Nordlöw wrote:
So a TId can represent either a thread or a fiber?
It represents a "logical thread", which currently consists of
coroutines or OS threads but could theoretically be extended to,
say, other processes or even other machines.
On Thursday, 7 April 2016 at 20:31:12 UTC, jmh530 wrote:
I've been playing around with __traits and I find myself
confused on one aspect. In the code below, I was testing
whether some templates would compile given types. For the most
part it works as I would expect.
I think I get why the
On Wednesday, 6 April 2016 at 23:14:10 UTC, Jonathan Villa wrote:
On Wednesday, 6 April 2016 at 21:33:14 UTC, Alex Parrill wrote:
My general idea is first to get the predicted quantity of
combinations
Seems like you already know; your OP says you have 2^n
combinations.
so I can divide
On Wednesday, 6 April 2016 at 21:35:51 UTC, mate wrote:
On Wednesday, 6 April 2016 at 20:48:20 UTC, Lucian Radu
Teodorescu wrote:
On Wednesday, 6 April 2016 at 18:27:25 UTC, BLM768 wrote:
On Wednesday, 6 April 2016 at 18:25:11 UTC, BLM768 wrote:
Aside from the explicit annotations, I don't
On Wednesday, 6 April 2016 at 13:59:42 UTC, pineapple wrote:
Is there any way in D to define static methods or members
within an enum's scope, as one might do in Java? It can
sometimes help with code organization. For example, this is
something that coming from Java I'd have expected to be
On Wednesday, 6 April 2016 at 19:54:32 UTC, Jonathan Villa wrote:
I wrote a little program that given some number it generates a
list of different combinations (represented by a ubyte array),
so in the end my function with name GenerateCombinations(int x)
returns a ubyte[][] (list of arrays of
On Tuesday, 5 April 2016 at 21:40:59 UTC, Basile B. wrote:
On Tuesday, 5 April 2016 at 21:10:47 UTC, Basile B. wrote:
On Tuesday, 5 April 2016 at 20:56:54 UTC, Alex Parrill wrote:
On Tuesday, 5 April 2016 at 19:00:43 UTC, Basile B. wrote:
0x1.max // exponent expected in hex float
0x1 .max //
On Wednesday, 6 April 2016 at 12:56:39 UTC, Suliman wrote:
I have next task.
There is PostgreSQL DB. With field like: id, mydata.
mydata - is binary blob. It can be 10MB or even more.
I need load all data from PostgreSQL to SQLLite.
I decided ti create struct that and fill it with data. And
On Tuesday, 5 April 2016 at 19:00:43 UTC, Basile B. wrote:
0x1.max // exponent expected in hex float
0x1 .max // OK
1.max // OK
What's the ambiguity when it's an hex literal ?
It's potentially ambiguous with hexadecimal floating point numbers
0xdeadbeef.p5 // hex float or hex int + method?
On Tuesday, 5 April 2016 at 05:39:25 UTC, Timothee Cour wrote:
q{...} // comment (existing syntax)
That is syntax for a string literal, not a comment (though unlike
other string literals, the contents must be valid D tokens and
editors usually do not highlight them as strings).
Comparing a logging framework with a basic print function is not
a fair comparison. I'd like to point out that Python's logging
module[1] also takes format strings.
So this really is just an argument of D's writeln vs Python's
print. In which case, this seems like a small thing to get upset
On Friday, 1 April 2016 at 21:25:46 UTC, Yuxuan Shui wrote:
Clang has this nice feature that it will warn you when you
passed wrong arguments to printf:
#include
int main(){
long long u = 10;
printf("%c", u);
}
clang something.c:
something.c:4:15: warning: format specifies
On Sunday, 27 March 2016 at 02:19:56 UTC, crimaniak wrote:
On Saturday, 26 March 2016 at 22:39:58 UTC, Alex Parrill wrote:
...
If we're going down that route, might as well use state tables.
...
For Boolean, Ternary, and N-state logic:
a && b == min(a, b)
a || b == max(a, b)
~a == N-1-a
On Sunday, 27 March 2016 at 00:42:07 UTC, maik klein wrote:
I think SoA can be faster if you are commonly iterating over a
section of a dataset, but I don't think that's a common
occurrence.
This happens in games very often when you use inheritance, your
objects just will grow really big the
On Friday, 25 March 2016 at 01:07:16 UTC, maik klein wrote:
Link to the blog post: https://maikklein.github.io/post/soa-d/
Link to the reddit discussion:
https://www.reddit.com/r/programming/comments/4buivf/why_and_when_you_should_use_soa/
I think structs-of-arrays are a lot more situational
On Saturday, 26 March 2016 at 22:11:53 UTC, Nordlöw wrote:
On Saturday, 26 October 2013 at 15:41:32 UTC, Andrei
Alexandrescu wrote:
While messing with std.allocator I explored the type below. I
ended up not using it, but was surprised that implementing it
was quite nontrivial. Should we add it
On Tuesday, 22 March 2016 at 10:49:01 UTC, Johan Engelen wrote:
Quiz: does this compile or not?
```
class Klass {}
void main() {
immutable Klass klass = new Klass;
synchronized (klass)
{
// do smth
}
}
```
A D object contains two (!) hidden pointers. Two? Yes: the
https://github.com/ColonelThirtyTwo/dvulkan
I know there are a few other bindings for Vulkan around, but I
didn't see one that generated the bindings from the XML spec, so
I made d-vulkan. The included vkdgen.py script leverages the spec
parser included in the Vulkan-Docs repo to generate D
On Sunday, 20 March 2016 at 00:03:16 UTC, Nicholas Wilson wrote:
On Saturday, 19 March 2016 at 19:37:38 UTC, Alex Parrill wrote:
On Saturday, 19 March 2016 at 12:57:18 UTC, Nicholas Wilson
wrote:
On Saturday, 19 March 2016 at 01:12:08 UTC, Alex Parrill
wrote:
Should be doable using
On Saturday, 19 March 2016 at 19:53:01 UTC, Suliman wrote:
Thanks! I am understand a little bit better, but not all.
```
shared static this()
{
auto settings = new HTTPServerSettings;
settings.port = 8080;
listenHTTP(settings, );
}
void handleRequest(HTTPServerRequest
On Saturday, 19 March 2016 at 12:57:18 UTC, Nicholas Wilson wrote:
On Saturday, 19 March 2016 at 01:12:08 UTC, Alex Parrill wrote:
Should be doable using appropriate version blocks.
The problem is that I'd have to define my own structs (Xlib
Display, Xlib Window, etc), which will be
On Monday, 7 March 2016 at 13:23:58 UTC, Nicholas Wilson wrote:
I'm not quite sure what this error is saying. Is it that the
only struct constructor that can have no parameters is @disable
this(){} ?
Yes, this is exactly right. You cannot have a structure with a
default constructor, except
On Wednesday, 2 March 2016 at 08:51:07 UTC, Manuel Maier wrote:
Hi there,
I was wondering why I should ever prefer std.range.lockstep
over std.range.zip. In my (very limited) tests std.range.zip
offered the same functionality as std.range.lockstep, i.e. I
was able to iterate using
On Monday, 29 February 2016 at 14:38:52 UTC, Ozan wrote:
Is it possible to combine template conditions and contracts?
Like in the following
T square_root(T)(T x) if (isBasicType!T) {
in
{
assert(x >= 0);
}
out (result)
{
assert((result * result) <= x && (result+1) * (result+1) >
x);
On Monday, 29 February 2016 at 14:50:51 UTC, Suliman wrote:
I am trying to check relative path on Linux for exists.
import std.stdio;
import std.path;
import std.file;
import std.string;
string mypath = "~/Documents/imgs";
void main()
{
if(!mypath.exists)
{
On Friday, 26 February 2016 at 16:45:53 UTC, Andrei Alexandrescu
wrote:
On 02/26/2016 10:19 AM, Alex Parrill wrote:
On Friday, 26 February 2016 at 14:59:43 UTC, Andrei
Alexandrescu wrote:
On 02/25/2016 06:46 PM, Nicholas Wilson wrote:
The technical name for the property of distribution you
On Friday, 26 February 2016 at 14:59:43 UTC, Andrei Alexandrescu
wrote:
On 02/25/2016 06:46 PM, Nicholas Wilson wrote:
The technical name for the property of distribution you
describe is
k-Dimensional Equidistribution (in this case k=1).
I would suggest taking a look at
On Thursday, 18 February 2016 at 03:39:30 UTC, Kapps wrote:
On Thursday, 18 February 2016 at 03:38:42 UTC, Kapps wrote:
This is what I did with OpenGL for my own bindings. It had
some nice benefits like having the documentation be (mostly)
accessible.
Unfortunately, turns out the spec
On Tuesday, 16 February 2016 at 19:01:58 UTC, Satoshi wrote:
Hello Vulkan API 1.0 is here and I just wrapped it into D.
https://github.com/Rikarin/VulkanizeD
Have fun!
Please consider making it a Dub package!
(IMO It would be cool to generate OpenGL and Vulkan bindings
directly from the
On Sunday, 31 January 2016 at 02:58:28 UTC, Andrew Edwards wrote:
If I understand correctly, this piece of code:
enum NOTUSED(v) do { (void)(1 ? (void)0 : ( (void)(v) ) );
} while(0)
can be converted to the following in D:
void notUsed(T)(T v) { return cast(void)0; };
since it
On Wednesday, 6 January 2016 at 14:17:51 UTC, anonymous wrote:
try return !haystack.empty && pred(haystack.front);
Might want to use std.exception.assumeWontThrow instead
return assumeWontThrow(!haystack.empty &&
pred(haystack.front));
On Wednesday, 6 January 2016 at 18:35:07 UTC, Carl Sturtivant
wrote:
Hello,
From D I want to call e.g.
/* C++ prototype */
namespace ns {
int try(int x);
}
without writing a C or C++ wrapper.
Presumably the following D doesn't work, because it doesn't
mangle the name as if it's in the
On Tuesday, 29 December 2015 at 09:26:31 UTC, Alex wrote:
The problem is, that the last line with the reduce does not
compile. Why?
If you get an error, it is imperative that you tell us what it is.
For the record, this code:
import std.bitmanip;
import std.stdio;
On Sunday, 27 December 2015 at 03:34:18 UTC, riki wrote:
void ccf(const char* str){}
void cwf(const wchar* str){}
void main()
{
ccf("aaa");//ok
cwf("xxx"w); // error and why ?
}
Unrelated to your error, but those functions should probably take
a `string` and `wstring`
On Wednesday, 23 December 2015 at 13:11:28 UTC, tcak wrote:
[code]
import std.stdio;
import std.conv;
enum Values: ubyte{ One = 1, Two = 2 }
void main(){
writeln( std.conv.to!string( Values.One ) );
}
[/code]
Output is "One".
casting works, but to be able to cast correctly, I need to
On Tuesday, 15 December 2015 at 03:31:18 UTC, Shriramana Sharma
wrote:
I expect it should not be difficult for the compiler to see
that this D file is not a module being imported by anything
else or even being compiled to a library which would need to be
later imported. In which case, why does
On Sunday, 13 December 2015 at 18:54:24 UTC, Robert M. Münch
wrote:
Hi, I just wanted to naively copy an object and used:
a = myobj.dup;
and get the following error messages:
source/app.d(191): Error: template object.dup cannot deduce
function from argument types !()(BlockV), candidates are:
On Monday, 7 December 2015 at 21:33:57 UTC, Enjoys Math wrote:
I've seen these:
https://github.com/DerelictOrg?page=1
BUt not sure how to use them, examples?
Derelict is just bindings for other libraries, for using C
libraries with D. Pick a library that does windows management (I
use GLFW,
On Monday, 7 December 2015 at 18:48:18 UTC, Random D user wrote:
struct Foo
{
this( int k )
{
a = k;
}
int a;
}
Foo foo;
int[ Foo ] map;
map[ foo ] = 1; // Crash! bug?
// This also crashes. I believe crash above makes a call like
this (or similar) in the rt.
//auto
On Wednesday, 2 December 2015 at 13:55:02 UTC, Ish wrote:
The following code does core dump (compiled with gdc). Pointers
will be appreciated.
import std.stdio;
import std.conv;
import std.math;
import std.concurrency;
import core.thread;
import core.sync.mutex;
enum count = 5;
__gshared
On Sunday, 29 November 2015 at 09:12:14 UTC, tired_eyes wrote:
On Sunday, 29 November 2015 at 09:05:37 UTC, tcak wrote:
On Sunday, 29 November 2015 at 08:56:30 UTC, tired_eyes wrote:
I was a bit surprised to see that std.socket is deprecated as
of 2.069. Just curious, what's wrong with it? And
On Friday, 27 November 2015 at 00:17:34 UTC, brian wrote:
I'm starting to build a small web-based application where I
would like to authenticate users, and hence need to store
passwords.
After reading this:
http://blog.codinghorror.com/youre-probably-storing-passwords-incorrectly/
and many
On Friday, 27 November 2015 at 00:50:25 UTC, brian wrote:
Thanks for the blatant faux pas.
I wasn't going to use MD5, I just meant "hash it somehow",
which was not apparent from my question. My bad.
Algorithm aside, the rest of that approach seems sensible then?
The hash implementation was
1 - 100 of 189 matches
Mail list logo