bugGNU Octave - Bugs: bug #32877, Please add single precision lsode...


bug #32877: Please add single precision lsode function

Submitter:  Sergey B Kirpichev <skirpichev>
Submitted:  Tue 22 Mar 2011 12:44:09 PM UTC
Category:  Interpreter Severity:  1 - Wish
Priority:  3 - Low Item Group:  Feature Request
Status:  Wont Fix Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup

Jump to the original submission

Mon 04 Dec 2023 06:20:04 PM UTC, comment #6: 

no progress or comment on original concern in 13 yrs. closing report as a Won't fix.  Workarounds are provided that produce desired output using more actively maintained functions. Someone can reopen or if they have a need and want to contribute to change the function.

Nicholas Jankowski <nrjank>
Group Member
Tue 18 Apr 2023 03:07:50 PM UTC, comment #5: 

seeing this 12 yr old wishlist item is still open, is it worth keeping here or should we close as a won't fix? it's not a compatibility issue, since matlab doesn't have an lsode. a workaround using ode45 gives the desired output and is compatible in single preservation. And it's a built-in function, so anyone wanting to implement would have to do so in compiled code, reducing the pool of potential editors to take time to make the change.

Nicholas Jankowski <nrjank>
Group Member
Mon 25 Mar 2019 09:18:27 AM UTC, comment #4: 

As a workaround consider using any ode solver written in m-code, e.g. ode45 :

>> [t, y] = ode45 (@(y_) y_*(1-y_), t=single(linspace(0,10)), single(0.1));
>> class (t)
ans = single
>> class (y)
ans = single

Carlo de Falco <cdf>
Group Member
Sun 24 Mar 2019 03:20:12 AM UTC, comment #3: 

same behavior in 5.1.0

Nicholas Jankowski <nrjank>
Group Member
Thu 08 Dec 2016 04:09:12 AM UTC, comment #2: 

behavior unchanged in 4.2.0

Nicholas Jankowski <nrjank>
Group Member
Thu 24 Mar 2011 05:22:56 AM UTC, comment #1: 

Confirmed in dev sources and downgraded to wishlist.

Jordi GutiƩrrez Hermoso <jordigh>
Group Member
Tue 22 Mar 2011 12:44:09 PM UTC, original submission:  

Right now lsode() works only in double precision (regardless of initial data) and uses: libcruft/odepack/dlsode.f

An example:

>> y=lsode(@(y_) y_*(1-y_), single(0.1), t=single(linspace(0,10)));
>> class(y)
ans = double

There is already single precision FORTRAN code (libcruft/odepack/slsode.f), but it's not used.

Sergey B Kirpichev <skirpichev>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by cdf (Posted a comment)
  • -email is unavailable- added by nrjank (Posted a comment)
  • -email is unavailable- added by jordigh (Posted a comment)
  • -email is unavailable- added by skirpichev (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.


    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-12-04 nrjank StatusConfirmed Wont Fix
        Open/ClosedOpen Closed
        Operating SystemGNU/Linux Any
    2011-03-24 jordigh Severity3 - Normal 1 - Wish
        Priority5 - Normal 3 - Low
        StatusNone Confirmed
        Release3.4.0 dev

    Back to the top

    Powered by Savane 3.13-4e86.
    Corresponding source code