Summer of Code - Getting Started: Difference between revisions

Jump to navigation Jump to search
→‎Chebfun in Octave: update with tasks and a link to Colin's attempts
(→‎Chebfun in Octave: tone down my ideology a bit ;-) to cast a wider net)
(→‎Chebfun in Octave: update with tasks and a link to Colin's attempts)
Line 230: Line 230:


* '''Required skills'''
* '''Required skills'''
: Octave m-file programming, C++, some familiarity with Approximation Theory (a branch of mathematics).
: Octave m-file programming, classdef programming, probably C++, some familiarity with Approximation Theory (a branch of mathematics).
* '''Difficulty'''
* '''Difficulty'''
: Medium to Hard (probably requires a deep dive into how Octave supports OO).
: Medium (fixing Octave classdef bugs likely harder and requires a deep dive into how Octave supports OOP).
* '''Potential mentors'''
* '''Potential mentors'''
: Colin B. Macdonald, [[User:KaKiLa|KaKiLa]], Mike Miller (?), Carnë Draug (?), someone from Chebfun team (?).
: Colin B. Macdonald, [[User:KaKiLa|KaKiLa]], Mike Miller (?), Carnë Draug (?), someone from Chebfun team (?).


How to get started: learn about Chebfun, browse Octave's bug list for classdef-related bugs, play with other classdef projects (Pytave, https://github.com/cbm755/octsympy/issues/545)
How to get started: learn about Chebfun, browse Octave's bug list for classdef-related bugs.
 
First steps: clone this Chebfun [https://github.com/cbm755/chebfun/tree/octave_dev octave_dev branch].  On that, "f = chebfun(@(x) sin(x), [-2 6])" should work with Octave 4.3.0+ and maybe even with 4.2.1.  Check that "f(pi)" and "g = f + 1" work.  A good first task would be to study [https://github.com/cbm755/chebfun/commit/e20b0ad2dc89cfe8e50ba461b864eff7d5bbef17 this commit], a workaround for "f.funs{1}" using "temp = f.funs; temp{1}".  "2*f" is failing, can you fix it, perhaps with this workaround?  Or can you make "f.funs{1}" work by changing something in "@chebfun/subsref.m"?


== Adding functionality to Forge packages ==
== Adding functionality to Forge packages ==
99

edits

Navigation menu