On Thursday, 15 October 2015 at 02:20:42 UTC, jmh530 wrote:
On Wednesday, 14 October 2015 at 22:11:56 UTC, data pulverizer
wrote:
On Tuesday, 13 October 2015 at 23:26:14 UTC, Laeeth Isharc
wrote:
https://www.quora.com/Why-is-Python-so-popular-despite-being-so-slow
Andrei suggested posting more
On Tuesday, 13 October 2015 at 23:26:14 UTC, Laeeth Isharc wrote:
https://www.quora.com/Why-is-Python-so-popular-despite-being-so-slow
Andrei suggested posting more widely.
I am coming at D by way of R, C++, Python etc. so I speak as a
statistician who is interested in data science
On Thursday, 15 October 2015 at 07:57:51 UTC, Russel Winder wrote:
On Thu, 2015-10-15 at 06:48 +, data pulverizer via
Digitalmars-d- learn wrote:
Just because D doesn't have this now doesn't mean it cannot. C
doesn't have such capability but R and Python do even though R
and CPython
On Thursday, 15 October 2015 at 21:16:18 UTC, Laeeth Isharc wrote:
On Wednesday, 14 October 2015 at 22:11:56 UTC, data pulverizer
wrote:
On Tuesday, 13 October 2015 at 23:26:14 UTC, Laeeth Isharc
wrote:
https://www.quora.com/Why-is-Python-so-popular-despite-being-so-slow
Andrei suggested
Hi,
I am trying to use variantArray() as a data table object to hold
columns each of which is an array of a specific type. I need to
be able to get values from data table but I am having problems ...
import std.stdio; // i/o
import std.variant; // type variations
void main(){
// Columns
Thanks for the suggestion Alex, however I need the dynamic
behaviour properties of variantArray(), writing a struct each
time would be undesirable.
Perhaps I could boil down the question to something like, is
there a way of writing
auto x = dt[0][0];
auto y = x.get!(x.type - or whatever);
Thanks library now compiles.
On Sunday, 3 January 2016 at 13:45:13 UTC, anonymous wrote:
On 03.01.2016 14:30, data pulverizer wrote:
I am trying to access functionality in the glpk C library using
extern(C). It has graph structs in its header file that are
specified in
an odd recurring
Dear D Gurus,
I am trying to access functionality in the glpk C library using
extern(C). It has graph structs in its header file that are
specified in an odd recurring manner that I cannot reproduce in D:
typedef struct glp_graph glp_graph;
typedef struct glp_vertex glp_vertex;
typedef
I have been converting C numeric libraries and depositing them
here: https://github.com/dataPulverizer. So far I have glpk and
nlopt converted on a like for like c function basics. I am now
stuck on the gsl library, primarily because of the preprocessor c
code which I am very new to. The
On Wednesday, 6 January 2016 at 13:59:44 UTC, John Colvin wrote:
#define INLINE_FUN extern inline // used in gsl_pow_int.h:
INLINE_FUN double gsl_pow_2(const double x) { return x*x; }
Could I just ignore the INLINE_FUN and use alias for function
pointer declaration? For example ...
alias
On Wednesday, 15 June 2016 at 14:14:23 UTC, Seb wrote:
On Wednesday, 15 June 2016 at 13:13:05 UTC, data pulverizer
And where can I find more cool tricks like that?
Browse the source code and the unittests. Phobos is an amazing
resource :)
Very true!
That's great many thanks!
On Wednesday, 15 June 2016 at 02:50:30 UTC, Seb wrote:
On Wednesday, 15 June 2016 at 02:43:37 UTC, data pulverizer
wrote:
How do I unravel a sliced item T[].sliced(...) to an array T[]?
For instance:
import std.experimental.ndslice;
auto slice = new int[12].sliced(3, 4);
int[] x = ??;
Thanks
How do I unravel a sliced item T[].sliced(...) to an array T[]?
For instance:
import std.experimental.ndslice;
auto slice = new int[12].sliced(3, 4);
int[] x = ??;
Thanks
On Wednesday, 15 June 2016 at 08:53:22 UTC, Andrea Fontana wrote:
On Wednesday, 15 June 2016 at 08:25:35 UTC, data pulverizer
wrote:
I guess foreach would not copy the elements? for example:
foreach(el; slice.byElement)
x ~= el;
But it feels wrong to be doing work pulling
On Wednesday, 15 June 2016 at 07:45:12 UTC, Andrea Fontana wrote:
On Wednesday, 15 June 2016 at 07:24:23 UTC, data pulverizer
wrote:
On Wednesday, 15 June 2016 at 03:17:39 UTC, Seb wrote:
On Wednesday, 15 June 2016 at 03:11:23 UTC, data pulverizer
wrote:
in that case:
import std.array :
On Wednesday, 15 June 2016 at 03:17:39 UTC, Seb wrote:
On Wednesday, 15 June 2016 at 03:11:23 UTC, data pulverizer
wrote:
in that case:
import std.array : array;
int[] x = slice.byElement.array;
Are you sure you want to create a _copy_ of your data? In most
cases you don't need that ;-)
On Wednesday, 15 June 2016 at 09:32:21 UTC, Andrea Fontana wrote:
Then I think the slice.byElement.array is the right solution.
The problem with that is that it slows down the code. I compared
matrix multiplication between R and D's cblas adaptor and ndslice.
n = 4000
Matrices: A, B
Sizes:
Oh, I didn't see that runif now returns a tuple.
On Wednesday, 15 June 2016 at 12:10:32 UTC, Seb wrote:
As said you can avoid the copy (see below). I also profiled it
a bit and it was interesting to see that 50% of the runtime are
spent on generating the random matrix. On my machine now both
scripts take 1.5s when compiled with
I didn't
On Sunday, 17 January 2016 at 02:08:06 UTC, Timon Gehr wrote:
On 01/16/2016 11:50 PM, data pulverizer wrote:
I guess the constraints are that of a static language.
(This is not true.)
Could you please explain?
On Saturday, 16 January 2016 at 21:22:15 UTC, data pulverizer
wrote:
Is it possible to create a function that returns Type like
typeof() does? Something such as:
Type returnInt(){
return int;
}
More to the point what is the Type of a type such as int?
Thanks
p.s. I am aware I could do
Is it possible to create a function that returns Type like
typeof() does? Something such as:
Type returnInt(){
return int;
}
More to the point what is the Type of a type such as int?
Thanks
On Saturday, 16 January 2016 at 21:59:22 UTC, data pulverizer
wrote:
On Saturday, 16 January 2016 at 21:22:15 UTC, data pulverizer
wrote:
Is it possible to create a function that returns Type like
typeof() does? Something such as:
Type returnInt(){
return int;
}
More to the point what is
On Thursday, 21 January 2016 at 10:40:39 UTC, data pulverizer
wrote:
On Thursday, 21 January 2016 at 10:20:12 UTC, Rikki Cattermole
wrote:
Okay without registering not gonna get that data.
So usual things to think about, did you turn on release mode?
What about inlining?
Lastly how about
On Thursday, 21 January 2016 at 11:08:18 UTC, Ali Çehreli wrote:
On 01/21/2016 02:40 AM, data pulverizer wrote:
dmd -release -inline code.d
These two as well please:
-O -boundscheck=off
the ingest of files and
speed of calculation is very important to me.
We should understand why D is
I have been reading large text files with D's csv file reader and
have found it slow compared to R's read.table function which is
not known to be particularly fast. Here I am reading Fannie Mae
mortgage acquisition data which can be found here
On Thursday, 21 January 2016 at 10:20:12 UTC, Rikki Cattermole
wrote:
Okay without registering not gonna get that data.
So usual things to think about, did you turn on release mode?
What about inlining?
Lastly how about disabling the GC?
import core.memory : GC;
GC.disable();
dmd -release
On Thursday, 21 January 2016 at 14:56:13 UTC, Saurabh Das wrote:
On Thursday, 21 January 2016 at 14:32:52 UTC, Saurabh Das wrote:
On Thursday, 21 January 2016 at 13:42:11 UTC, Edwin van
Leeuwen wrote:
On Thursday, 21 January 2016 at 09:39:30 UTC, data pulverizer
wrote:
StopWatch sw;
On Thursday, 21 January 2016 at 15:17:08 UTC, data pulverizer
wrote:
On Thursday, 21 January 2016 at 14:56:13 UTC, Saurabh Das wrote:
On Thursday, 21 January 2016 at 14:32:52 UTC, Saurabh Das
Actually since you're aiming for speed, this might be better:
sw.start();
auto records =
On Thursday, 21 January 2016 at 16:25:55 UTC, bachmeier wrote:
On Thursday, 21 January 2016 at 10:48:15 UTC, data pulverizer
wrote:
Running Ubuntu 14.04 LTS
In that case, have you looked at
http://lancebachmeier.com/rdlang/
If this is a serious bottleneck you can solve it with two lines
On Thursday, 21 January 2016 at 16:01:33 UTC, wobbles wrote:
Interesting that reading a file is so slow.
Your timings from R, is that including reading the file also?
Yes, its just insane isn't it?
On Thursday, 21 January 2016 at 17:17:52 UTC, Saurabh Das wrote:
On Thursday, 21 January 2016 at 17:10:39 UTC, data pulverizer
wrote:
On Thursday, 21 January 2016 at 16:01:33 UTC, wobbles wrote:
Interesting that reading a file is so slow.
Your timings from R, is that including reading the
On Thursday, 21 January 2016 at 18:31:17 UTC, data pulverizer
wrote:
Good news and bad new. I was going for something similar to
what you have above and both slash the time alot:
Time (s): 1.024
But now the output is a little garbled. For some reason the
splitter isn't splitting correctly -
On Thursday, 21 January 2016 at 23:58:35 UTC, H. S. Teoh wrote:
On Thu, Jan 21, 2016 at 11:29:49PM +, data pulverizer via
Digitalmars-d-learn wrote:
On Thursday, 21 January 2016 at 21:24:49 UTC, H. S. Teoh wrote:
>On Thu, Jan 21, 2016 at 07:11:05PM +, Jesse Phillips via
>This piq
On Thursday, 21 January 2016 at 21:24:49 UTC, H. S. Teoh wrote:
On Thu, Jan 21, 2016 at 07:11:05PM +, Jesse Phillips via
This piqued my interest today, so I decided to take a shot at
writing a fast CSV parser. First, I downloaded a sample large
CSV file from: [...]
Hi H. S. Teoh, I
On Thursday, 21 January 2016 at 20:46:15 UTC, Gerald Jansen wrote:
On Thursday, 21 January 2016 at 09:39:30 UTC, data pulverizer
wrote:
I have been reading large text files with D's csv file reader
and have found it slow compared to R's read.table function
This great blog post has an
On Thursday, 21 January 2016 at 23:58:35 UTC, H. S. Teoh wrote:
are there flags that I should be compiling with or some other
thing that I am missing?
Did you supply a main() function? If not, it won't run, because
fastcsv.d is only a module. If you want to run the benchmark,
you'll have to
On Friday, 22 January 2016 at 02:16:14 UTC, H. S. Teoh wrote:
On Thu, Jan 21, 2016 at 04:50:12PM -0800, H. S. Teoh via
Digitalmars-d-learn wrote:
[...]
> > https://github.com/quickfur/fastcsv
[...]
Fixed some boundary condition crashes and reverted doubled
quote handling in unquoted
On Friday, 22 January 2016 at 21:41:46 UTC, data pulverizer wrote:
On Friday, 22 January 2016 at 02:16:14 UTC, H. S. Teoh wrote:
[...]
Hi H. S. Teoh, I have used you fastcsv on my file:
import std.file;
import fastcsv;
import std.stdio;
import std.datetime;
void main(){
StopWatch sw;
On Thursday, 21 January 2016 at 18:46:03 UTC, Justin Whear wrote:
On Thu, 21 Jan 2016 18:37:08 +, data pulverizer wrote:
It's interesting that the output first array is not the same
as the input
byLine reuses a buffer (for speed) and the subsequent split
operation just returns slices
On Thursday, 21 January 2016 at 19:08:38 UTC, data pulverizer
wrote:
On Thursday, 21 January 2016 at 18:46:03 UTC, Justin Whear
wrote:
On Thu, 21 Jan 2016 18:37:08 +, data pulverizer wrote:
It's interesting that the output first array is not the same
as the input
byLine reuses a buffer
Are there are any plans to create a scala spark-like RDD class
for D
(https://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf)?
This is a powerful model that has taken the data science world by
storm; it would be useful to have something like this in the D
world. Most of the algorithms
On Monday, 15 February 2016 at 11:09:10 UTC, data pulverizer
wrote:
Are there are any plans to create a scala spark-like RDD class
for D
(https://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf)? This is a powerful model that has taken the data science world by storm; it would be useful
On Wednesday, 16 March 2016 at 20:53:42 UTC, JR wrote:
On Wednesday, 16 March 2016 at 20:24:38 UTC, data pulverizer
wrote:
Hi D gurus,
is there a way to obtain parameter names within the function
body? I am particularly interested in variadic functions.
Something like:
void myfun(T...)(T
On Thursday, 24 March 2016 at 18:46:14 UTC, Ali Çehreli wrote:
On 03/24/2016 10:24 AM, data pulverizer wrote:
> I have been playing with the matrix example given at the end
of chapter
> 78 of Ali Çehreli's
For reference, it's "Multi-dimensional operator overloading
example" here:
On Friday, 25 March 2016 at 08:53:20 UTC, Ali Çehreli wrote:
On 03/25/2016 12:00 AM, data pulverizer wrote:
> On Thursday, 24 March 2016 at 18:46:14 UTC, Ali Çehreli wrote:
>> On 03/24/2016 10:24 AM, data pulverizer wrote:
>> > I have been playing with the matrix example given at the
end
>> of
On Thursday, 24 March 2016 at 17:24:38 UTC, data pulverizer wrote:
I have been playing with the matrix example given at the end of
chapter 78 of Ali Çehreli's fabulous book and am having
problems with overloading the opAssign operator.
rows is a private int[][] in a Matrix struct.
I have
I have been playing with the matrix example given at the end of
chapter 78 of Ali Çehreli's fabulous book and am having problems
with overloading the opAssign operator.
rows is a private int[][] in a Matrix struct.
I have added the following ...
Matrix opAssign(int[][] arr)
{
this.rows =
I am attempting to create a table struct with generic column
types using templates. The subTable() member function subsets the
table, however I am getting a template recursion error. I know
where the problem is from, I don't know how to resolve it. I am
modelling it after the matrix example in
p.s. I realise that the ColumnTable call is a little ponderous
but I tidy it up in a convenience wrapper function:
auto CreateDataTable(Args...)(){
string[] names;
foreach(i, arg; Args){
names ~= Args[i].stringof;
}
auto df =
On Saturday, 26 March 2016 at 00:10:23 UTC, Chris Williams wrote:
I need to be able to perform random access I/O against a file,
creating a new file if it doesn't exist, or opening as-is (no
truncation) if it already exists.
None of the access modes for std.stdio.File seem to allow that.
Any
On Friday, 25 March 2016 at 20:54:28 UTC, Atila Neves wrote:
int delegate(int) dg = (i) => i * 2;
Error: non-constant nested delegate literal expression __lambda3
int delegate(int) dg;
static this() {
dg = i => i * 2; // ok
}
Am I doing anything wrong?
Atila
Hmm, looks like your
On Friday, 25 March 2016 at 23:40:37 UTC, data pulverizer wrote:
On Friday, 25 March 2016 at 20:54:28 UTC, Atila Neves wrote:
int delegate(int) dg = (i) => i * 2;
Error: non-constant nested delegate literal expression
__lambda3
int delegate(int) dg;
static this() {
dg = i => i * 2; //
On Saturday, 26 March 2016 at 06:28:42 UTC, Ali Çehreli wrote:
WARNING: Do not try to compile this code. Your computer may be
unresponsive for a while. :)
On 03/25/2016 02:54 PM, data pulverizer wrote:
> I am attempting to create a table struct with generic column
types using
> templates.
On Saturday, 26 March 2016 at 06:28:42 UTC, Ali Çehreli wrote:
Likewise, that instantiation of ColumnTable is with the symbols
'names', 'salary', and 'age'. Is that what you want? Or do you
want to instantiate with their types? Can you explain some more
what you are trying to do.
Ali
I
On Saturday, 26 March 2016 at 09:47:10 UTC, Ali Çehreli wrote:
Please ignore my earlier response. :)
On 03/25/2016 02:54 PM, data pulverizer wrote:
> template ColumnTable(T...){
[...]
> auto output = ColumnTable!(new_data)(new_data); //
This is the
> problem
You want to slice the
Hi D gurus,
is there a way to obtain parameter names within the function
body? I am particularly interested in variadic functions.
Something like:
void myfun(T...)(T x){
foreach(i, arg; x)
writeln(i, " : ", arg);
}
void main(){
myfun(a = 2, b = "two", c = 2.0);
}
// should
On Wednesday, 16 March 2016 at 21:05:43 UTC, JR wrote:
On Wednesday, 16 March 2016 at 20:43:09 UTC, jkpl wrote:
I try to anticipate the reason why you want this. [...]
I use something *kinda* sort of similar in my toy project to
print all fields of a struct, for debugging purposes when stuff
I have noticed that some numerical packages written in D use
pointer semantics heavily (not referring to packages that link to
C libraries). I am in the process of writing code for a numerical
computing library and would like to know whether there times when
addressing an array using pointers
On Saturday, 25 February 2017 at 11:15:53 UTC, ketmar wrote:
data pulverizer wrote:
I have noticed that some numerical packages written in D use
pointer semantics heavily (not referring to packages that link
to C libraries). I am in the process of writing code for a
numerical computing
I'd like to convert a call to a string for debug printing
purposes for example:
```
import std.stdio : writeln;
void someFunction(int x, string y){}
string myCall = debugPrint(someFunction(1, "hello"));
writeln(myCall);
```
writes:
someFunction(1, "hello")
Does this functionality exists? If
On Wednesday, 15 February 2017 at 22:07:22 UTC, data pulverizer
wrote:
That's great, thanks both of you!
On Monday, 5 September 2016 at 06:45:07 UTC, data pulverizer
wrote:
On Sunday, 4 September 2016 at 14:49:30 UTC, Lodovico Giaretta
wrote:
Your getCol(i) could become getCol!T(i) and return an instance
of GenericVector!T directly, after checking that the required
column has in fact that type:
On Thursday, 8 September 2016 at 10:18:36 UTC, Russel Winder
wrote:
I am certainly hoping that Chapel will be the language to
displace NumPy for serious computation in the Python-sphere.
Given it's foundation in the PGAS model, it has all the
parallelism needs, both cluster and local, built
On Sunday, 4 September 2016 at 14:02:03 UTC, Lodovico Giaretta
wrote:
Your code is not very D style
... Well I guess I could have contracted the multiple
constructors in GenericVector(T) and and DataFrame?
On Sunday, 4 September 2016 at 14:49:30 UTC, Lodovico Giaretta
wrote:
On Sunday, 4 September 2016 at 14:24:12 UTC, data pulverizer
wrote:
On Sunday, 4 September 2016 at 14:20:24 UTC, data pulverizer
wrote:
@Lodovico Giaretta BTW what do you mean that my code is not
very D style? Please expand
On Sunday, 4 September 2016 at 09:55:53 UTC, data pulverizer
wrote:
My main question is how to return GenericVector!(T) from the
getCol() method in the Table class instead of BaseVector.
I think I just solved my own query, change the BaseVector
interface to a class and override it in the
On Sunday, 4 September 2016 at 14:20:24 UTC, data pulverizer
wrote:
On Sunday, 4 September 2016 at 14:07:54 UTC, data pulverizer
wrote:
@Lodovico Giaretta Thanks I just saw your update!
@Lodovico Giaretta BTW what do you mean that my code is not very
D style? Please expand on this ...
On Sunday, 4 September 2016 at 14:07:54 UTC, data pulverizer
wrote:
@Lodovico Giaretta Thanks I just saw your update!
I am trying to build a data table object with unrestricted column
types. The approach I am taking is to build a generic interface
BaseVector class and then a subtype GenericVector(T) which
inherits from the BaseVector. I then to build a Table class which
contains columns that is a BaseVector
On Sunday, 4 September 2016 at 14:49:30 UTC, Lodovico Giaretta
wrote:
Your getCol(i) could become getCol!T(i) and return an instance
of GenericVector!T directly, after checking that the required
column has in fact that type:
GenericVector!T getCol!T(size_t i)
{
if(typeid(cols[i]) ==
On Wednesday, 7 September 2016 at 20:57:15 UTC, bachmeier wrote:
What are you doing with Rcpp that you can't do with D?
That's a very good point, there's nothing that R + C++ can do
that is out of D's reach. But, I wander if we can go further
On Wednesday, 7 September 2016 at 20:37:50 UTC, jmh530 wrote:
On Wednesday, 7 September 2016 at 19:19:23 UTC, data pulverizer
I don't see any reason why D can't implement pandas DataFrames
without needing to change the language at all
On Wednesday, 7 September 2016 at 21:25:30 UTC, jmh530 wrote:
Consider a potential use case. You have an existing data frame
and you want to add a column of data to it that has a different
type than the existing frame. I imagine the function call would
look something like:
auto newFrame =
On Wednesday, 7 September 2016 at 20:29:51 UTC, deXtoRious wrote:
On Wednesday, 7 September 2016 at 19:19:23 UTC, data pulverizer
wrote:
The "One language to rule them all" motif of Julia has hit the
rocks; one reason is because they now realize that their
language is being held back because
On Wednesday, 7 September 2016 at 21:07:20 UTC, data pulverizer
wrote:
Don't get me wrong, I still think Julia is a very cool
language. My opinion is that we should have more languages.
Let me correct myself ... I think that hyper-meta-programming as
in Sparrow could certainly revolutionize
On Wednesday, 7 September 2016 at 20:37:50 UTC, jmh530 wrote:
On Wednesday, 7 September 2016 at 19:19:23 UTC, data pulverizer
wrote:
For some time I have been considering a problem to do with
creating tables with unbounded types, one of the failed
attempts is here:
On Wednesday, 7 September 2016 at 21:01:59 UTC, deXtoRious wrote:
That's just typical press nonsense, and even they quote
Bezanson saying how Julia isn't at all suited to a whole host
of applications. Julia certainly has (justifiable, imho, though
only time will tell) ...
Don't get me wrong,
On Wednesday, 7 September 2016 at 20:57:15 UTC, bachmeier wrote:
I too come from the R world and I have been playing the game
of flitting between R and C++; using C++ (through RCpp) to
speed up slow things in R for some time and I have been
looking for a better solution.
What are you doing
On Friday, 9 September 2016 at 13:32:16 UTC, Russel Winder wrote:
Should we be giving up on D and switching to Sparrow?
Most certainly not! I don't think it has to be either D or
Sparrow. There is a quote liked from one of Walter's
presentation. Someone asked the question:
"What happens
On Wednesday, 7 September 2016 at 15:04:38 UTC, jmh530 wrote:
On Wednesday, 7 September 2016 at 11:37:44 UTC, Russel Winder
wrote:
I really don't see what's not working in this.
Trying to get new D users from Python users is the main
problem.
I came to D from Python/R/Matlab. The
I have come across a function pointer in C that I am attempting
to convert, and am not sure what the current interpretation is:
```
\\ The C Code:
void (*(*xDlSym)(sqlite3_vfs*,void*, const char *zSymbol))(void);
```
The best I can tell is that this is a function pointer that
returns a
On Saturday, 17 December 2016 at 14:06:07 UTC, ketmar wrote:
On Saturday, 17 December 2016 at 13:39:27 UTC, data pulverizer
wrote:
that is what it means, in D:
//void (*(*xDlSym)(sqlite3_vfs*,void*, const char
*zSymbol))(void);
struct sqlite3_vfs {}
extern(C) {
alias RetRes = void
On Saturday, 17 December 2016 at 14:06:07 UTC, ketmar wrote:
that is what it means, in D:
//void (*(*xDlSym)(sqlite3_vfs*,void*, const char
*zSymbol))(void);
struct sqlite3_vfs {}
extern(C) {
alias RetRes = void function ();
alias DeclType = RetRes function (sqlite3_vfs *a,void *b, const
On Thursday, 23 March 2017 at 17:58:21 UTC, H. S. Teoh wrote:
On Thu, Mar 23, 2017 at 05:29:22PM +, data pulverizer via
Thanks. Is there a less ham-handed way of exporting them other
than wrapping them in functions as I have?
Wrapping them in functions is probably the simplest way to
I am trying to call a D function from C. Here is the D code:
```
/* dcode.d */
extern (C) nothrow @nogc @system {
double multNum(double x, double y)
{
return x*y;
}
}
```
Then the C code:
```
/* ccode.c */
#include
#include
#include
extern double multNum(double x,
On Thursday, 23 March 2017 at 10:16:22 UTC, Nicholas Wilson wrote:
It has to do with module references to druntime stuff. You can
either try adding a
pragma(LDC_no_module_info); //I think it is spelled correctly.
or you can use ldc to link and it will link druntime
gcc ccode.c -c
ldc2
On Friday, 24 March 2017 at 01:00:31 UTC, Nicholas Wilson wrote:
On Thursday, 23 March 2017 at 19:46:43 UTC, data pulverizer
wrote:
On Thursday, 23 March 2017 at 17:58:21 UTC, H. S. Teoh wrote:
On Thu, Mar 23, 2017 at 05:29:22PM +, data pulverizer via
Thanks. Is there a less ham-handed
On Saturday, 25 March 2017 at 06:17:15 UTC, Nicholas Wilson wrote:
On Saturday, 25 March 2017 at 02:21:33 UTC, data pulverizer
wrote:
Thanks a lot ... I was half joking playing with the name
"mangling" but I appreciate your explanations and suggestions.
This is the internet, I can't tell if
On Thursday, 23 March 2017 at 16:38:02 UTC, Adam D. Ruppe wrote:
On Thursday, 23 March 2017 at 16:28:18 UTC, data pulverizer
wrote:
alias mult!double dmult;
alias mult!float fmult;
Those are just aliases in the D compiler, they don't actually
exist in the object file for C to use like
On Thursday, 23 March 2017 at 11:32:25 UTC, Nicholas Wilson wrote:
On Thursday, 23 March 2017 at 10:49:37 UTC, data pulverizer
wrote:
On Thursday, 23 March 2017 at 10:16:22 UTC, Nicholas Wilson
wrote:
It has to do with module references to druntime stuff. You
can either try adding a
I have noticed that the following will not successfully export
`dmult` and `fmult` to C:
```
extern (C) nothrow @nogc @system:
pragma(LDC_no_moduleinfo);
T mult(T)(T x, T y)
{
return x*y;
}
alias mult!double dmult;
alias mult!float fmult;
```
but this will
```
extern (C) nothrow @nogc
On Sunday, 12 March 2017 at 20:15:43 UTC, Meta wrote:
import std.stdio : writeln;
import std.traits : ConstOf;
auto max(T)(T x, T y)
{
writeln("General template");
return x > y ? x : y;
}
auto max(T: const U, U)(T* x, T* y) <- Changed `ConstOf!U`
to `const U`
{
On Sunday, 12 March 2017 at 20:15:43 UTC, Meta wrote:
auto max(T: const U, U)(T* x, T* y) <- Changed `ConstOf!U`
to `const U`
{
writeln("Const template");
return *x > *y ? x : y;
}
How detailed can I be about the template specialisation? From
example in the book "C++ the
On Sunday, 12 March 2017 at 19:32:37 UTC, ketmar wrote:
data pulverizer wrote:
In this case would like to use the ConstOf specialisation
instead of the default implementation for the inputs which are
const.
actually, second template is uninstantiable at all. you want to
do type
Hello all,
I am attempting to write templates for differently qualified
types using specialisations. Below is an example for const and
non-const outlining my approach:
``
import std.stdio : writeln;
import std.traits : ConstOf;
auto max(T)(T x, T y)
{
On Thursday, 3 August 2017 at 12:31:00 UTC, Adam D. Ruppe wrote:
On Thursday, 3 August 2017 at 12:24:02 UTC, data pulverizer
wrote:
import std.traits: isIntegral, isNumeric;
Are you familiar with isFloatingPoint?
http://dpldocs.info/experimental-docs/std.traits.isFloatingPoint.html
Hi all,
Is it possible to launch/spawn a thread/fibre or some other
appropriate item and obtain an immutable/enum or some appropriate
output at compile-time? For instance return an immutable(string)
from the external thread to be used as the input to a template
parameter or a CTFE function.
On Sunday, 13 August 2017 at 08:09:28 UTC, Petar Kirov
[ZombineDev] wrote:
On Sunday, 13 August 2017 at 07:37:15 UTC, data pulverizer
wrote:
Hi all,
Is it possible to launch/spawn a thread/fibre or some other
appropriate item and obtain an immutable/enum or some
appropriate output at
Hi,
I would like to know how to specify dmd or ldc compiler and
version in a json dub file.
Thanks in advance.
1 - 100 of 253 matches
Mail list logo