dotProduct and sum unification

2014-09-08 Thread Ilya Yaroshenko via Digitalmars-d
Hello! I have found that Phobos has sum, but in module std.algorithm! refs: std.numeric.dotProduct: http://dlang.org/phobos/std_numeric.html#.dotProduct std_algorithm.sum: http://dlang.org/phobos/std_algorithm.html#.sum Both sum and dotProduct are general purpose numeric algorithms (yes,

Re: dotProduct and sum unification

2014-09-08 Thread Ilya Yaroshenko via Digitalmars-d
+ std.numeric.normalize

Common scope for function's in{}, out(result){} and body{}

2014-09-11 Thread Ilya Yaroshenko via Digitalmars-d
Hello! There are local imports available in D. But if contract programming is necessary there are no common function scope. So I suppose D need common scope: --- auto functionName(Range1, Range2)(Range1 r1, Ranger2) scope { import std.range; //imports are

Re: Common scope for function's in{}, out(result){} and body{}

2014-09-12 Thread Ilya Yaroshenko via Digitalmars-d
bearophile, has common scope been already proposed? I don't sure that I clearly understand you (my English is really poor), I have assumed that code "immutable length = r1.length; //Error" shouldn't be compiled. On Friday, 12 September 2014 at 07:32:11 UTC, bearophile wrote: Ilya Yaroshenko:

Re: Common scope for function's in{}, out(result){} and body{}

2014-09-12 Thread Ilya Yaroshenko via Digitalmars-d
I really forget about template =) Thank You!

organization of std.numeric

2014-09-14 Thread Ilya Yaroshenko via Digitalmars-d
Hello! Abstract: 0. http://forum.dlang.org/post/luknet$o2h$1...@digitalmars.com 1. I have made PR https://github.com/D-Programming-Language/phobos/pull/2513 with full precision summation function fsum. The Precise (full precision), Naive, Reverse, Pairwise, Kahan, KBN and KB2 summation algori

Re: organization of std.numeric

2014-09-14 Thread Ilya Yaroshenko via Digitalmars-d
2. Can the same concept (like in fsum, but with naive summation algorithm by default) be added for this numeric algorithms? Or Precise by default?

Re: std.string import cleanup: how to fix regression?

2014-11-12 Thread Ilya Yaroshenko via Digitalmars-d
One solution is new `extern import std.array : split;` syntax. Like `public` but do *not* visible for module itself. If user will use selective imports with std.string, than there compiler can deduce dependencies without full imports. Furthermore we can deprecate it lately with `deprecated ext

Re: std.string import cleanup: how to fix regression?

2014-11-13 Thread Ilya Yaroshenko via Digitalmars-d
alias can not be deprecated :-( What about: static import std.algorithm : startsWith, endsWith, cmp, count; static import std.array : join, split; deprecated { alias startsWith = std.algorithm.startsWith; ... }

Re: Lost a new commercial user this week :(

2014-12-15 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 14 December 2014 at 08:37:36 UTC, Manu via Digitalmars-d wrote: We were unable to build Win64 code (vibe.d doesn't support Win64 it seems), and the 32bit compiler produces useless OMF output. We couldn't link against any of our existing code which was a serious inconvenience, but th

Druntime DMD/LDC/GDC architecture

2014-06-23 Thread Ilya Yaroshenko via Digitalmars-d
Hello all! very simple code: -- double[] a, c; ... c[] += a[]; -- The DMD version I can find in _arraySliceSliceAddass_d, https://github.com/D-Programming-Language/druntime/blob/master/src/rt/arraydouble.d . What about LDC and GDC? The _arraySliceSliceAddass_

Re: Druntime DMD/LDC/GDC architecture

2014-06-23 Thread Ilya Yaroshenko via Digitalmars-d
If you look at the bottom of those _array functions you will find a regular loop doing the cleanup for anything missed by the inline asm. If I remember correctly, for gdc it is this loop doing the whole operation as the asm is versioned out. I think it is something different. LDC has standar

Re: math libraries

2015-02-12 Thread Ilya Yaroshenko via Digitalmars-d
Hi! 1. core.stdc.math - C math (sin(double), sinf(float), sinl(real)). This functions are linked to libm. 2. core.stdc.tgmath - C math overloads (single name for float/double/real). See also http://www.cplusplus.com/reference/ctgmath/ . This functions are link to libm. 3. core.math - Builtin ma

Re: DDMD just went green on all platforms for the first time

2015-02-22 Thread Ilya Yaroshenko via Digitalmars-d
Congratulations!!!

Re: The hackathon week roundup

2015-05-02 Thread Ilya Yaroshenko via Digitalmars-d
* Tutorial: http://d.readthedocs.org (btw should we link that from the homepage?) May I transfer the repositories (both GitHub and RTD) to the D-Programming-Language community?

Re: The hackathon week roundup

2015-05-03 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 3 May 2015 at 04:13:35 UTC, Andrei Alexandrescu wrote: On 5/2/15 6:27 PM, Walter Bright wrote: On 5/2/2015 5:12 PM, Andrei Alexandrescu wrote: On 5/2/15 4:50 PM, Ilya Yaroshenko wrote: * Tutorial: http://d.readthedocs.org (btw should we link that from the homepage?) May I transfe

Re: The hackathon week roundup

2015-05-03 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 3 May 2015 at 04:13:35 UTC, Andrei Alexandrescu wrote: On 5/2/15 6:27 PM, Walter Bright wrote: On 5/2/2015 5:12 PM, Andrei Alexandrescu wrote: On 5/2/15 4:50 PM, Ilya Yaroshenko wrote: * Tutorial: http://d.readthedocs.org (btw should we link that from the homepage?) May I transfe

Re: std.xml2 (collecting features)

2015-05-03 Thread Ilya Yaroshenko via Digitalmars-d
Can it lazily reads huge files (files greater than memory)?

Re: C++ / Why Iterators Got It All Wrong

2017-09-02 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 29 August 2017 at 12:50:08 UTC, Robert M. Münch wrote: Maybe of interest: https://www.think-cell.com/en/career/talks/iterators/#1 I haven't read everything, so not sure if it worth to take a look. Iterators has no proper alternative when one need to implement generic tensor libr

Re: C++ / Why Iterators Got It All Wrong

2017-09-03 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 3 September 2017 at 02:43:51 UTC, Moritz Maxeiner wrote: On Sunday, 3 September 2017 at 02:08:20 UTC, Ilya Yaroshenko wrote: On Tuesday, 29 August 2017 at 12:50:08 UTC, Robert M. Münch wrote: Maybe of interest: https://www.think-cell.com/en/career/talks/iterators/#1 I haven't read

Re: C++ / Why Iterators Got It All Wrong

2017-09-03 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 3 September 2017 at 12:35:16 UTC, Moritz Maxeiner wrote: On Sunday, 3 September 2017 at 09:24:03 UTC, Ilya Yaroshenko wrote: On Sunday, 3 September 2017 at 02:43:51 UTC, Moritz Maxeiner wrote: On Sunday, 3 September 2017 at 02:08:20 UTC, Ilya Yaroshenko wrote: On Tuesday, 29 August 2

Re: C++ / Why Iterators Got It All Wrong

2017-09-07 Thread Ilya Yaroshenko via Digitalmars-d
On Wednesday, 6 September 2017 at 21:44:01 UTC, jmh530 wrote: On Wednesday, 6 September 2017 at 20:24:05 UTC, Enamex wrote: Similarly, a[0] has _strides [4, 1] for universal, [4] for canonical, and [] for contiguous. Mir is written in such a way that a[0] the same regardless of the SliceKind. F

Re: C++ / Why Iterators Got It All Wrong

2017-09-10 Thread Ilya Yaroshenko via Digitalmars-d
On Thursday, 7 September 2017 at 20:46:22 UTC, jmh530 wrote: On Thursday, 7 September 2017 at 12:28:00 UTC, jmh530 wrote: On Thursday, 7 September 2017 at 12:27:19 UTC, jmh530 wrote: auto x = data.sliced(2, 3).universal; Err, (3, 4) not (2, 3) All kinds of screwed up. This is what I get fo

Should we add `a * b` for vectors?

2017-09-22 Thread Ilya Yaroshenko via Digitalmars-d
Should we add `a * b` to ndslice for 1d vectors? Discussion at https://github.com/libmir/mir-algorithm/issues/91

Re: Should we add `a * b` for vectors?

2017-09-27 Thread Ilya Yaroshenko via Digitalmars-d
On Wednesday, 27 September 2017 at 04:59:10 UTC, Manu wrote: On 26 September 2017 at 21:41, Atila Neves via Digitalmars-d < digitalmars-d@puremagic.com> wrote: On Friday, 22 September 2017 at 17:11:56 UTC, Ilya Yaroshenko wrote: Should we add `a * b` to ndslice for 1d vectors? Discussion at

Re: Proposal: Object/?? Destruction

2017-10-04 Thread Ilya Yaroshenko via Digitalmars-d
On Wednesday, 4 October 2017 at 10:03:56 UTC, aberba wrote: auto {success, message} = callVoldermortFunction(); ❤ I want this syntax, plz! This solves the issue how to return multiple ref values. --Ilya

Re: D on quora ...

2017-10-06 Thread Ilya Yaroshenko via Digitalmars-d
On Friday, 6 October 2017 at 17:14:51 UTC, Rion wrote: https://www.quora.com/What-is-your-review-of-D-programming-language It seems that D still has the GC being mentioned up to today. Maybe its better to move the standard library slower to a non gc version in the future... WIP: https://git

Re: Why Physicists Still Use Fortran

2017-10-17 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 17 October 2017 at 13:36:59 UTC, Kagamin wrote: Arrays (or in physics-speak, matrices) multiplied together quite intuitively as: C = A*B gives an element-by-element multiplication of A and B, assuming A and B are the same size. Ehhh? The same true for ndslice. ndslice returns laz

"dmd -O" does not support Mir Algorithm

2017-10-29 Thread Ilya Yaroshenko via Digitalmars-d
Hi, I added unittest-release builds into Travis. LDC works well but DMD fails in few places. One DMD bug was filled [1]. I will explore others when this is fixed. Please use only LDC for builds with O flag for now. [1] https://issues.dlang.org/show_bug.cgi?id=17943 Best regards, Ilya

Re: "dmd -O" does not support Mir Algorithm

2017-10-30 Thread Ilya Yaroshenko via Digitalmars-d
On Monday, 30 October 2017 at 08:34:16 UTC, bauss wrote: On Monday, 30 October 2017 at 05:48:16 UTC, Ilya Yaroshenko wrote: Hi, I added unittest-release builds into Travis. LDC works well but DMD fails in few places. One DMD bug was filled [1]. I will explore others when this is fixed. Plea

multiwayMerge/multiwayUnion review

2018-01-03 Thread Ilya Yaroshenko via Digitalmars-d
Hi, I ported two this functions to mir-algorithm ~master: need them for work ASAP (License and Copyright are preserved). My small report: - Two algorithmic bugs in multiwayUnion: it is one line function, you can easily find them. - One truly significant algorithmic optimisation bug in multi

Re: multiwayMerge/multiwayUnion review

2018-01-03 Thread Ilya Yaroshenko via Digitalmars-d
On Wednesday, 3 January 2018 at 22:19:41 UTC, jmh530 wrote: On Wednesday, 3 January 2018 at 19:32:37 UTC, Ilya Yaroshenko wrote: Hi, I ported two this functions to mir-algorithm ~master: need them for work ASAP (License and Copyright are preserved). My small report: - Two algorithmic bugs in

Re: Tuple DIP

2018-01-13 Thread Ilya Yaroshenko via Digitalmars-d
On Friday, 12 January 2018 at 22:44:48 UTC, Timon Gehr wrote: As promised [1], I have started setting up a DIP to improve tuple ergonomics in D: https://github.com/tgehr/DIPs/blob/tuple-syntax/DIPs/DIP1xxx-tg.md [1] https://forum.dlang.org/post/or625h$2hns$1...@digitalmars.com Awesome!!! Than

Re: Do we need Mat, Vec, TMmat, Diag, Sym and other matrix types?

2018-03-13 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 13 March 2018 at 12:23:23 UTC, jmh530 wrote: On Tuesday, 13 March 2018 at 10:35:15 UTC, 9il wrote: On Tuesday, 13 March 2018 at 04:35:53 UTC, jmh530 wrote: [snip] What's TMMat? TMat is a transposed matrix. Not sure for now if it would be required. There are some people who l

Mir Algorithm preview: the new ndslice, dlang Iterators, fast generics

2017-02-07 Thread Ilya Yaroshenko via Digitalmars-d
Hi all, This is early preview before the announce of Mir Algorithm and the new ndslice. Ndslice is a dlang package for multidimensional and numeric worlds. The new ndslice has three kinds: 1. Universal: numpy-like, similar to the old ndslice, 2. Canonical: BLAS-like, raw stride is a

Re: Mir Algorithm preview: the new ndslice, dlang Iterators, fast generics

2017-02-08 Thread Ilya Yaroshenko via Digitalmars-d
On Wednesday, 8 February 2017 at 15:33:25 UTC, jmh530 wrote: On Tuesday, 7 February 2017 at 16:18:20 UTC, Ilya Yaroshenko wrote: Feedback is welcome! I don't have time right now to play around with it, but I looked through the documentation. Here are my comments: 1) I would consider http:

Re: Mir Algorithm preview: the new ndslice, dlang Iterators, fast generics

2017-02-08 Thread Ilya Yaroshenko via Digitalmars-d
2. Canonical: BLAS-like, raw stride is assumed to be 1 EDIT: row stride

Re: D street cred: Just a thought

2017-03-04 Thread Ilya Yaroshenko via Digitalmars-d
On Saturday, 4 March 2017 at 13:24:25 UTC, ketmar wrote: Nick Sabalausky (Abscissa) wrote: Just a thought for boosting D's street cred: Perhaps...take a worthwhile C/C++ project with real potential, fork it, and port it to D. And make a real commitment to maintaining it. Obviously a bit of a

Re: D street cred: Just a thought

2017-03-04 Thread Ilya Yaroshenko via Digitalmars-d
On Saturday, 4 March 2017 at 16:43:21 UTC, Moritz Maxeiner wrote: On Saturday, 4 March 2017 at 15:35:13 UTC, Ilya Yaroshenko wrote: [...] my 1 cent: we should stop trying to convert C++ users. Please, do no push devs to do not do something. There are two directions: betterC and DRuntime.

Re: D street cred: Just a thought

2017-03-05 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 5 March 2017 at 08:49:33 UTC, Arun Chandrasekaran wrote: On Sunday, 5 March 2017 at 05:45:19 UTC, Ilya Yaroshenko wrote: Why without DRuntime? I had explained this multiple times. Could this be captured in a wiki or somewhere in a more positive tone so that new comers are not scare

Lazy concatenation and padding utilities

2017-03-09 Thread Ilya Yaroshenko via Digitalmars-d
Hello Ndslice got [1] lazy multidimensional concatenation and padding utilities: 1. stack 2. pad 2. padEdge 3. padSymmetric 4. padWrap `stack` can be used for ndslices instead of `chain`. --- import mir.ndslice.allocation: slice; import mir.ndslice.stack: stack; auto d = stack(a, b, c)

Re: Lazy concatenation and padding utilities

2017-03-09 Thread Ilya Yaroshenko via Digitalmars-d
On Thursday, 9 March 2017 at 09:10:47 UTC, Nordlöw wrote: On Thursday, 9 March 2017 at 08:59:28 UTC, Ilya Yaroshenko wrote: Ndslice got [1] lazy multidimensional concatenation and padding utilities: Nice. Is this dependent on choosing either RC- or GC-based allocation? No, they are complete

Re: Lazy concatenation and padding utilities

2017-03-09 Thread Ilya Yaroshenko via Digitalmars-d
On Thursday, 9 March 2017 at 09:10:47 UTC, Nordlöw wrote: On Thursday, 9 March 2017 at 08:59:28 UTC, Ilya Yaroshenko wrote: Ndslice got [1] lazy multidimensional concatenation and padding utilities: Nice. Is this dependent on choosing either RC- or GC-based allocation? ... continue prev. re

Re: Lazy concatenation and padding utilities

2017-03-09 Thread Ilya Yaroshenko via Digitalmars-d
On Thursday, 9 March 2017 at 08:59:28 UTC, Ilya Yaroshenko wrote: [1] http://docs.algorithm.dlang.io/latest/mir_ndslice_stack.html renamed: http://docs.algorithm.dlang.io/latest/mir_ndslice_concatenation.html

Re: Lazy concatenation and padding utilities

2017-03-09 Thread Ilya Yaroshenko via Digitalmars-d
On Thursday, 9 March 2017 at 08:59:28 UTC, Ilya Yaroshenko wrote: Hello Ndslice got [1] lazy multidimensional concatenation and padding utilities: 1. stack 2. pad 2. padEdge 3. padSymmetric 4. padWrap `stack` can be used for ndslices instead of `chain`. --- import mir.ndslice.allocatio

Re: D street cred: Just a thought

2017-03-09 Thread Ilya Yaroshenko via Digitalmars-d
On Thursday, 9 March 2017 at 17:31:53 UTC, Ola Fosheim Grøstad wrote: On Saturday, 4 March 2017 at 07:09:17 UTC, Nick Sabalausky (Abscissa) wrote: In a similar vein, I have to say I'm thoroughly impressed with what I've learned of Mir. AIUI, aside from being a fantastic lib, it looks like a too

Re: DIP80: phobos additions

2015-06-08 Thread Ilya Yaroshenko via Digitalmars-d
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 The

Re: DIP80: phobos additions

2015-06-08 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 9 June 2015 at 03:26:25 UTC, 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 to become big and blow the rest out of the sky.

Re: DIP80: phobos additions

2015-06-09 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 9 June 2015 at 08:50:16 UTC, John Colvin wrote: 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

Re: DIP80: phobos additions

2015-06-09 Thread Ilya Yaroshenko via Digitalmars-d
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); ass

Re: DIP80: phobos additions

2015-06-09 Thread Ilya Yaroshenko via Digitalmars-d
Ilya, I'm very interested in discussing this further with you. I have a reasonable idea and implementation of how I would want the generic n-dimensional types in D to work, but you seem to have more experience with BLAS and LAPACK than me* and of course interfacing with them is critical. *I

Re: DIP80: phobos additions

2015-06-09 Thread Ilya Yaroshenko via Digitalmars-d
I believe that Phobos must support some common methods of linear algebra and general mathematics. I have no desire to join D with Fortran libraries :) D definitely needs BLAS API support for matrix multiplication. Best BLAS libraries are written in assembler like openBLAS. Otherwise D will

Re: DIP80: phobos additions

2015-06-09 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 9 June 2015 at 16:18:06 UTC, Manu wrote: On 10 June 2015 at 01:26, Ilya Yaroshenko via Digitalmars-d wrote: I believe that Phobos must support some common methods of linear algebra and general mathematics. I have no desire to join D with Fortran libraries :) D definitely

Re: DIP80: phobos additions

2015-06-09 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 9 June 2015 at 16:16:39 UTC, Dennis Ritchie wrote: On Tuesday, 9 June 2015 at 16:14:24 UTC, Dennis Ritchie wrote: To solve these problems you need something like Blas. Perhaps BLAS - it's more practical way to enrich D techniques for working with matrices. Actually, that's what yo

Re: DIP80: phobos additions

2015-06-09 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 9 June 2015 at 16:40:56 UTC, Ilya Yaroshenko 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 wrote: I believe that Phobos must support some common methods of linear algebra and general mathematics. I have no

Re: DIP80: phobos additions

2015-06-09 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 9 June 2015 at 16:08:40 UTC, Andrei Alexandrescu wrote: On 6/9/15 1:50 AM, John Colvin wrote: On Tuesday, 9 June 2015 at 06:59:07 UTC, Andrei Alexandrescu wrote: (a) Provide standard data layouts in std.array for the typical shapes supported by linear algebra libs: row major, column

Re: DIP80: phobos additions

2015-06-11 Thread Ilya Yaroshenko via Digitalmars-d
On Friday, 12 June 2015 at 00:51:04 UTC, Manu wrote: On 10 June 2015 at 02:40, Ilya Yaroshenko via Digitalmars-d 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 wrote: I believe that Phobos must support some common

Re: DIP80: phobos additions

2015-06-12 Thread Ilya Yaroshenko via Digitalmars-d
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 writt

Re: DIP80: phobos additions

2015-06-14 Thread Ilya Yaroshenko via Digitalmars-d
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 provide

Re: DIP80: phobos additions

2015-06-14 Thread Ilya Yaroshenko via Digitalmars-d
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 a

Re: DIP80: phobos additions

2015-06-14 Thread Ilya Yaroshenko via Digitalmars-d
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 replic

Re: DIP80: phobos additions

2015-06-14 Thread Ilya Yaroshenko via Digitalmars-d
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 solu

Re: DIP80: phobos additions

2015-06-14 Thread Ilya Yaroshenko via Digitalmars-d
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

Re: DIP80: phobos additions

2015-06-14 Thread Ilya Yaroshenko via Digitalmars-d
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 s

Re: DIP80: phobos additions

2015-06-14 Thread Ilya Yaroshenko via Digitalmars-d
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 fr

Re: DIP80: phobos additions

2015-06-14 Thread Ilya Yaroshenko via Digitalmars-d
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 w

Re: DIP80: phobos additions

2015-06-14 Thread Ilya Yaroshenko via Digitalmars-d
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 directl

Re: DIP80: phobos additions

2015-06-15 Thread Ilya Yaroshenko via Digitalmars-d
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

Re: DIP80: phobos additions

2015-06-15 Thread Ilya Yaroshenko via Digitalmars-d
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 N-d

Re: DIP80: phobos additions

2015-06-15 Thread Ilya Yaroshenko via Digitalmars-d
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, std.experimental.r

Re: DIP80: phobos additions

2015-06-15 Thread Ilya Yaroshenko via Digitalmars-d
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 `row`

Re: std.container: fork in the road

2015-06-17 Thread Ilya Yaroshenko via Digitalmars-d
On Wednesday, 17 June 2015 at 06:08:57 UTC, Andrei Alexandrescu wrote: Regarding compatibility, I see three possibilities: 1. Just keep the current spec and deal with it. Some containers are and will remain garbage collected because they started as such. Add new containers that are better alon

Re: Reduce has dreadful performance?

2015-06-18 Thread Ilya Yaroshenko via Digitalmars-d
On Thursday, 18 June 2015 at 10:27:58 UTC, Russel Winder wrote: On a given machine, the code: double sequential_loop(const int n, const double delta) { auto sum = 0.0; foreach (immutable i; 1 .. n + 1) { immutable x = (i - 0.5) * delta; sum += 1.0 / (1.0 + x * x); } return 4.0 *

Re: Reduce has dreadful performance?

2015-06-18 Thread Ilya Yaroshenko via Digitalmars-d
On Thursday, 18 June 2015 at 10:50:09 UTC, Andrea Fontana wrote: On Thursday, 18 June 2015 at 10:46:18 UTC, Ilya Yaroshenko wrote: On Thursday, 18 June 2015 at 10:27:58 UTC, Russel Winder wrote: On a given machine, the code: double sequential_loop(const int n, const double delta) { auto sum

Re: What have you done with UDAs?

2015-06-22 Thread Ilya Yaroshenko via Digitalmars-d
On Monday, 22 June 2015 at 19:09:40 UTC, weaselcat wrote: I never seem to use them for anything, has anyone else done anything interesting with them? UDAs are very useful for IO libraries. You can find them in vibe.d web server: http://d.readthedocs.org/en/latest/examples.html#service (see la

DMD: slow coping for small static arrays.

2015-07-19 Thread Ilya Yaroshenko via Digitalmars-d
I have found that DMD can not optimise array coping for small static arrays: Code: --- size_t[8] foo(size_t[8] x) { size_t[8] ret = void; ret[0..3] = x[5..8]; ret[3..8] = x[0..5]; return ret; } --- DMD (nightly build): http

Re: DMD: slow coping for small static arrays.

2015-07-19 Thread Ilya Yaroshenko via Digitalmars-d
GDC 4.2: http://goo.gl/RdcjeV GDC 4.9.2

Re: dmd 2.068, 2.069, 2.0xx Evil Plan going forward

2015-07-19 Thread Ilya Yaroshenko via Digitalmars-d
On Monday, 20 July 2015 at 04:02:04 UTC, Walter Bright wrote: 4. Redo CTFE interpreter so it only rarely needs to allocate memory. This was already done for constant folding, but now it's time for the rest of the interpreter. Great! ... and CTFE-able unions, thought. They are required for CT

associative arrays with manual memory management

2015-08-21 Thread Ilya Yaroshenko via Digitalmars-d
Hi All! I am going to implement associative arrays with manual memory management based on amazing std.experimental.allocator by Andrei http://wiki.dlang.org/Review/std.experimental.allocator I will be happy to receive any advices about algorithms, use cases and API. Best Regards, Ilya

Re: associative arrays with manual memory management

2015-08-22 Thread Ilya Yaroshenko via Digitalmars-d
On Saturday, 22 August 2015 at 04:16:30 UTC, Rikki Cattermole wrote: Will it be language feature fix, or is it an independent container? Independent container. If the later I already have a simple dumb one which I can share (not on this machine). I'll be happy to use what you create. Same go

Re: associative arrays with manual memory management

2015-08-22 Thread Ilya Yaroshenko via Digitalmars-d
On Saturday, 22 August 2015 at 07:37:38 UTC, Dmitry Olshansky wrote: FYI https://github.com/D-Programming-Language/druntime/pull/1282 Thanks!

Re: associative arrays with manual memory management

2015-08-24 Thread Ilya Yaroshenko via Digitalmars-d
On Saturday, 22 August 2015 at 04:16:30 UTC, Rikki Cattermole wrote: On 8/22/2015 5:20 AM, Ilya Yaroshenko wrote: Hi All! I am going to implement associative arrays with manual memory management based on amazing std.experimental.allocator by Andrei http://wiki.dlang.org/Review/std.experimenta

Re: std.allocator ready for some abuse

2015-09-10 Thread Ilya Yaroshenko via Digitalmars-d
On Friday, 1 November 2013 at 02:33:57 UTC, Andrei Alexandrescu wrote: Added SharedFreelist, a lock-free freelist. http://erdani.com/d/phobos-prerelease/std_allocator.html#.SharedFreelist Andrei Hi Andrei, Please check this bug fix for SharedFreelist https://github.com/andralex/phobos/pull

Re: Some crazy ideas from a high level perspective

2016-04-16 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 22 March 2016 at 14:42:18 UTC, jmh530 wrote: On Tuesday, 22 March 2016 at 14:08:55 UTC, _d0s_ wrote: Idea2: Matrix Solvers Have some base algorithms to solve linear and quadtratic systems on top of those matrices. (LU, QR, ...) You would be interested in https://github.com/DlangS

stc.experimental.ndslice -> sci.ndslice

2016-04-16 Thread Ilya Yaroshenko via Digitalmars-d
We plan to add a set of numeric packages and this would be real pain if they would be one-by-one moved from experimental to stable std. So sci.* should be considered as experimental during few years. https://github.com/dlang/phobos/pull/4207

Re: stc.experimental.ndslice -> sci.ndslice

2016-04-17 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 17 April 2016 at 07:02:25 UTC, Jack Stouffer wrote: On Sunday, 17 April 2016 at 06:10:34 UTC, Ilya Yaroshenko wrote: We plan to add a set of numeric packages and this would be real pain if they would be one-by-one moved from experimental to stable std. So sci.* should be considered a

Re: stc.experimental.ndslice -> sci.ndslice

2016-04-17 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 17 April 2016 at 07:11:17 UTC, Vladimir Panteleev wrote: On Sunday, 17 April 2016 at 06:10:34 UTC, Ilya Yaroshenko wrote: We plan to add a set of numeric packages and this would be real pain if they would be one-by-one moved from experimental to stable std. So sci.* should be conside

Re: stc.experimental.ndslice -> sci.ndslice

2016-04-17 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 17 April 2016 at 07:30:38 UTC, Vladimir Panteleev wrote: On Sunday, 17 April 2016 at 07:25:55 UTC, Ilya Yaroshenko wrote: sci name was reserved for future use: http://code.dlang.org/packages/sci What does a Dub package have to do with D module system packages? The goal is to incl

Re: stc.experimental.ndslice -> sci.ndslice

2016-04-17 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 17 April 2016 at 08:49:53 UTC, Seb wrote: On Sunday, 17 April 2016 at 07:35:19 UTC, Ilya Yaroshenko wrote: On Sunday, 17 April 2016 at 07:30:38 UTC, Vladimir Panteleev I don't understand, what's wrong with std.sci or etc.sci? I am ok with std.sci for example. I just want to exclude

Re: stc.experimental.ndslice -> sci.ndslice

2016-04-17 Thread Ilya Yaroshenko via Digitalmars-d
On Sunday, 17 April 2016 at 09:32:25 UTC, QAston wrote: On Sunday, 17 April 2016 at 09:09:52 UTC, Ilya Yaroshenko wrote: Just with std.sci.* without `experimental`. Otherwise this would be the same problem. What's wrong with std.experimental.sci.*? experimental is where experimental modules

Re: stc.experimental.ndslice -> sci.ndslice

2016-04-19 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 19 April 2016 at 01:13:01 UTC, deadalnix wrote: On Sunday, 17 April 2016 at 06:10:34 UTC, Ilya Yaroshenko wrote: We plan to add a set of numeric packages and this would be real pain if they would be one-by-one moved from experimental to stable std. So sci.* should be considered as e

Re: stc.experimental.ndslice -> sci.ndslice

2016-04-23 Thread Ilya Yaroshenko via Digitalmars-d
On Friday, 22 April 2016 at 22:11:27 UTC, Joseph Rushton Wakeling wrote: On Sunday, 17 April 2016 at 09:09:52 UTC, Ilya Yaroshenko wrote: On Sunday, 17 April 2016 at 08:49:53 UTC, Seb wrote: On Sunday, 17 April 2016 at 07:35:19 UTC, Ilya Yaroshenko wrote: [...] Another idea would be to go with

POSIX signals & GC DEADLOCK

2016-04-25 Thread Ilya Yaroshenko via Digitalmars-d
Hello, Aleksei Preobrazhenskii found a bug that causes GC deadlock and offered a bug fix. I can confirm the bug. Hope the bug fix will be implemented in the next release. https://issues.dlang.org/show_bug.cgi?id=15939 Best regards, Ilya

Fiber implementation questions

2016-06-20 Thread Ilya Yaroshenko via Digitalmars-d
Hello, I am thinking about faster event loop that vibe.d has (does not matter what driver are used). I want to implement (at least DIP) advanced Fiber yielding loop that can allow to eliminate context switching for all kind of event waiters. Q1: Is it save to detach Fiber context from one th

Re: Fiber implementation questions

2016-06-21 Thread Ilya Yaroshenko via Digitalmars-d
On Monday, 20 June 2016 at 20:17:04 UTC, deadalnix wrote: On Monday, 20 June 2016 at 15:43:27 UTC, Ilya Yaroshenko wrote: Q2: core.thread.Fiber implementation looks like GC does not scan function stacks for yielded contexts. Why? Doesn't it ? I thought the code should be added to the GC ro

critical wrong code

2015-11-14 Thread Ilya Yaroshenko via Digitalmars-d
This code fails on 32 bit Linux / FreeBSD. It is very dangerous bug. Please pay attention to it! ``` unittest { double a, b; a = -5.50533e+307; b = 4.49423e+307; writefln("a = %a, b = %a, (a+b)/2.0 = %a", a, b, (a+b)/2.0); assert((a+b)/2.0 > a); } ``` issue: https://is

Wanted: Review manager for std.experimental.range.ndslice

2015-11-15 Thread Ilya Yaroshenko via Digitalmars-d
Hello, Review manager for N-dimensional ranges is wanted Docs (see PR for latest version): http://dtest.thecybershadow.net/artifact/website-7a646fdea76569e009844cdee5c93edab10980ca-cdcb694c40ec47acf88b0aa878e1623e/web/phobos-prerelease/std_experimental_range_ndslice.html PR: https://github.com

Re: Wanted: Review manager for std.experimental.range.ndslice

2015-11-16 Thread Ilya Yaroshenko via Digitalmars-d
On Monday, 16 November 2015 at 09:56:57 UTC, Andrea Fontana wrote: On Monday, 16 November 2015 at 03:05:03 UTC, Ilya Yaroshenko wrote: Hello, Review manager for N-dimensional ranges is wanted Docs (see PR for latest version): http://dtest.thecybershadow.net/artifact/website-7a646fdea76569e0098

Re: Wanted: Review manager for std.experimental.range.ndslice

2015-11-16 Thread Ilya Yaroshenko via Digitalmars-d
On Monday, 16 November 2015 at 21:01:03 UTC, Jack Stouffer wrote: On Monday, 16 November 2015 at 20:12:37 UTC, Ilya wrote: It is very close draft: http://wiki.dlang.org/Review/Process I volunteer then, if you'll have me. Great! Thank you :)

Re: Formal Review of std.range.ndslice

2015-11-17 Thread Ilya Yaroshenko via Digitalmars-d
On Tuesday, 17 November 2015 at 00:10:42 UTC, Brian Schott wrote: On Monday, 16 November 2015 at 22:45:35 UTC, Jack Stouffer wrote: This is the start of the two week formal review for the proposed std.range.ndslice. This new addition to the standard library would add the ability to create and m

  1   2   3   4   >