octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Support for N-dimensional arrays almost done


From: Joel Dahne
Subject: Re: Support for N-dimensional arrays almost done
Date: Mon, 31 Jul 2017 08:21:12 +0000

Hi,

Thanks for the quick reply. The merge went well! I completely missed the
.* vs *, was to focused on the newline, changing that it works. But
since there are two active version out there I'm not sure which one we
should use, I will leave it as it is for now.

Joel

Oliver Heimlich writes:

> Hi,
>
> sorry for top posting. I am on the road.
>
> I can't use the latest symbolic package. I am still on Debian Jessie. The new 
> version of symbolic seems to produce different output for the scalar prefix 2 
> (spot the difference in .* vs. *).
>
> Regarding "make run" your fix makes sense. Maybe my Octave is outdated and 
> supports the old syntax as well (regression?).
>
> To continue your work it makes sense to 'pull' and 'update' from the original 
> repository (in hg speak). You should be able to do that in your local hg 
> client.
>
> Oliver
>
>
>  Ursprüngliche Nachricht
> Von: address@hidden
> Gesendet: 31. Juli 2017 9:43 vorm.
> An: address@hidden
> Antworten: address@hidden
> Cc: address@hidden; address@hidden
> Betreff: Re: Support for N-dimensional arrays almost done
>
> Hi Oliver
>
> Oliver Heimlich writes:
>
>>> There is one more test that always fails for me
>>>
>>> doc/chapter/examples.texinfo ........................... FAIL 1/15
>>>
>>> >> f = @(x) sqrt (x) + (x + 1) .* cos (x);
>>> pkg load symbolic
>>> df = function_handle (diff (formula (f (sym ("x")))))
>>>
>>> expected: df = @(x) -(x + 1) .* sin (x) + cos (x) + 1 ./ (2 .* sqrt (x))
>>>
>>> got : df =
>>>
>>> @(x) -(x + 1) .* sin (x) + cos (x) + 1 ./ (2 * sqrt (x))
>>>
>>> It seems like that there is only a problem with the formatting but I
>>> have not been able to fix it. Does it fail for you to, and if so should
>>> I add a SKIP for it?
>>
>> The formatting has changed in the symbolic package since I have written
>> this example. I am going to fix the formatting of the example to match
>> the new version.
>
> The test still fails for me with the new patch. I think texinfo (or
> doctest) has trouble with multiple newlines. Tried to add specific
> newlines with @NL (where NL is a newline character) but it still did not
> work. For reference I'm using symbolic 2.6.0.
>
>>> Oliver Heimlich writes:
>>>> Regarding the unit tests: I'll put a little bit more work into the
>>>> Makefile and add complete support for the new ITF1788 test data during
>>>> all make targets, e. g., “make run”. The aim is that we can eventually
>>>> get rid of the generated test/*.tst files (or
>>>> build/octave/native/interval/*.tst files in the package development
>>>> workspace). For the user it makes package testing more straight forward
>>>> since you can simply test the function that you want to test and don't
>>>> have to execute an extra test suite. If you want, you can spread use of
>>>> itl.mat among the other methods and add ND array test by reshaping the
>>>> test data.
>>>
>>> I'm not sure I follow you here. You want to get rid of the test/*.tst
>>> files, where should the test be stored then? Is the goal to be able to
>>> use Octaves test-command to perform all tests (thus making it easy to
>>> test only one function)? ITF1788 will supply the testing data, where
>>> will we reshape the data, in ITF1788 or in the interval packages Makefile?
>>
>> I am currently working on this. I hope to finish migration this night.
>> You can have a peek in [6], I am going to push other functions later.
>> The test data will be stored in a .mat file. The tests are performed
>> during “test <functioname>”, which has to load its part of the test data
>> from the .mat file.
>>
>> Shaping the test data into the .mat file has already been implemented.
>> The testcases are stored as cell arrays. It is possible to either
>> iterate over the cell array (for scalar tests) or cat the cell array
>> (for vector tests). I have already prepared %!test blocks to do this.
>>
>> Your job would be to add one or more %!test blocks, which reshape the
>> data into ND arrays (you may discard some test cases to get correct
>> dimensions).
>>
>> [6]
>> https://sourceforge.net/p/octave/interval/ci/f35e6c4964256c14b87d1aa315dd60a6ad38e52b/tree/inst/@infsup/plus.m#l80
>
> Running 'make run' does not work for me with the current tip. I get the
> error
>
> Regenerating interval test library (build/inst/test/itl.mat) ...
>  build/octave/dictionary/interval-dictionary/abs_rev.tst
> error: wrong type argument 'cell'
> error: source: FILE must be a string
>
> Changing line 355 in the Makefile from
>
> --eval 'for file = strsplit ("$^"), printf (" %s\n", file{:}); source
>  (file); endfor;' \
>
> to
>
> --eval 'for file = strsplit ("$^"), printf (" %s\n", file{:}); source
>  (file{:); endfor;' \
>
> fixes it for me.
>
> Finally I have a question. Up until recently I have been working on my
> fork of the interval package and you have been merging changes from time
> to time. Now you have made changes to the original repository that I
> would need to merge to mine. What is the simplest way to accomplish
> that? On sourceforge I have a "request merge" button which I guess is
> for if I want you to merge my changes, but I can find no way to merge
> your changes to my repository.
>
> Best,
> Joel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]