comparison etc/HACKING @ 15198:c3d463c93604

* HACKING: Update for libinterp and libgui changes.
author John W. Eaton <jwe@octave.org>
date Sat, 18 Aug 2012 18:56:48 -0400
parents 0f0b795044c3
children 2dd4f5930108
comparison
equal deleted inserted replaced
15197:0c0f4eef30f4 15198:c3d463c93604
103 103
104 An overview of the directory layout of Octave's source files: 104 An overview of the directory layout of Octave's source files:
105 105
106 doc -- Texinfo documentation for Octave 106 doc -- Texinfo documentation for Octave
107 107
108
108 examples -- some example files 109 examples -- some example files
109 110
111
112 gnulib -- gnulib subrepo. This is the actual gnulib source
113 tree, checked out with git.
114
115
116 libgnu -- gnulib sources that we use. The files here are
117 copied here from the gnulib directory by the
118 build-aux/bootstrap script that is run by the
119 autogen.sh script.
120
121
110 libcruft -- various numerical libraries (mostly Fortran) 122 libcruft -- various numerical libraries (mostly Fortran)
111 amos * bessel functions 123
112 blas-xtra * wrappers for blas functions used in Octave 124 amos bessel functions
113 daspk * large scale differential algebraic equation solver 125
114 dasrt * differential algebraic equation solver with root finding 126 blas-xtra wrappers for blas functions used in Octave
115 dassl * differential-algebraic system solver 127
116 fftpack * subroutines for fast fourier transforms 128 daspk large scale differential algebraic equation solver
117 lapack-xtra * wrappers for lapack functions used in Octave 129
118 misc * miscellaneous utilities 130 dasrt differential algebraic equation solver with root finding
119 odepack * ordinary differential equation solver 131
120 ordered-qz * code for ordering eigenvalues for QZ factorization 132 dassl differential-algebraic system solver
121 quadpack * subroutines for numerical integration 133
122 ranlib * random number generators 134 fftpack subroutines for fast fourier transforms
123 slatec-err * slatec error handling library 135
124 slatec-fn * various special function subroutines 136 lapack-xtra wrappers for lapack functions used in Octave
125 137
126 liboctave -- the C++ interfaces to the numerical libraries and 138 misc miscellaneous utilities
127 various OS facilities 139
128 140 odepack ordinary differential equation solver
129 scripts -- functions written in the Octave language 141
130 audio * play and record sound files (system dependent) 142 ordered-qz code for ordering eigenvalues for QZ factorization
131 deprecated * older deprecated functions 143
132 elfun * elementary mathematical functions 144 quadpack subroutines for numerical integration
133 @ftp * ftp object class 145
134 general * utility functions 146 ranlib random number generators
135 geometry * geometry algorithms 147
136 help * help subsystem functions 148 slatec-err slatec error handling library
137 image * image processing 149
138 io * input/output functions 150 slatec-fn various special function subroutines
139 linear-algebra * linear algebra stuff 151
140 miscellaneous * stuff that doesn't fit anywhere else 152
141 optimization * zero finders and minimizers 153 liboctave -- The C++ interfaces to the numerical libraries and
142 path * functions for path manipulation 154 various OS facilities.
143 pkg * the package manager 155
144 plot * plotting functions 156
145 polynomial * polynomial manipulation 157 libinterp -- The interpreter itself plus lots of infrastructure
146 prefs * user-defined preferences
147 set * set manipulation
148 signal * signal processing
149 sparse * sparse matrix support
150 specfun * special mathematical functions
151 special-matrix * functions for generating special types of matrices
152 startup * initialization functions
153 statistics * statistical functions, distributions, and tests
154 strings * character string manipulation
155 testfun * unit testing
156 time * time and date functions
157
158 src -- the interpreter itself plus lots of infrastructure
159 around it. Octave's extensive octave_value class 158 around it. Octave's extensive octave_value class
160 hierarchy for polymorphically handling all Octave 159 hierarchy for polymorphically handling all Octave
161 types is defined here. The built-in functions are 160 types is defined here. The built-in functions are
162 also defined here, so if "help foo" tells you foo is 161 also defined here.
163 built-in, its source will be somewhere in this 162
164 directory. 163 octave-value the octave_value class hierarchy. These are the
165 DLD-FUNCTIONS * Dynamically linked oct files. If you see "help foo" 164 container classes that hold various Octave data
166 telling you that foo is defined in foo.oct, then 165 types like struct numerical arrays, structure
167 foo.cc will be found here and contain the source 166 arrays, and cell arrays.
168 code. 167
169 OPERATORS * Definitions and template instantiations for 168 parse-tree Classes that define the parse tree for the
169 interpreter.
170
171 interp-core Core utilities for the interpreter. There are no
172 DEFUN functions (callable from the scripting
173 language) defined here.
174
175 interpfcn Functions closely related to the interpreter.
176 Includes DEFUN functions (callable from the
177 scripting language). Also may export C++ functions
178 that are used in other parts of the interpreter.
179
180 corefcn Statically linked DEFUN functions (callable from
181 the scripting langauge). No C++ functions exported
182 for use in other parts of the interpreter.
183
184 dldfcn Dynamically linked DEFUN functions (callable
185 from the scripting language). If you see "help
186 foo" telling you that foo is defined in foo.oct,
187 then foo.cc will be found here and contain the
188 source code.
189
190 operators Definitions and template instantiations for
170 operators for all possible Octave type 191 operators for all possible Octave type
171 combinations. 192 combinations.
172 TEMPLATE-INST * Some C++ template instantiations. 193
194 template-inst Some C++ template instantiations.
195
196
197 libgui -- the graphical user interface of GNU Octave
198
199 src source files.
200
201 m-editor source files for the m-file editor.
202
203 octave-adapter souce files for the octave layer for threadsafe
204 communication with the octave interpreter.
205 qtinfo source files for the Qt texinfo browser.
206
207 icons icon files that will be compiled into the
208 executable via a resource file.
209
210 qterminal subrepository for the qterminal Qt terminal widget.
211
212 languages translation files and list of translators.
213
214 kb-layouts various files need by the qterminal widget that has
215 been derived from Konsole.
216
217
218 scripts -- functions written in the Octave language
219
220 audio play and record sound files (system dependent)
221
222 deprecated older deprecated functions
223
224 elfun elementary mathematical functions
225
226 @ftp ftp object class
227
228 general utility functions
229
230 geometry geometry algorithms
231
232 help help subsystem functions
233
234 image image processing
235
236 io input/output functions
237
238 linear-algebra linear algebra stuff
239
240 miscellaneous stuff that doesn't fit anywhere else
241
242 optimization zero finders and minimizers
243
244 path functions for path manipulation
245
246 pkg the package manager
247
248 plot plotting functions
249
250 polynomial polynomial manipulation
251
252 prefs user-defined preferences
253
254 set set manipulation
255
256 signal signal processing
257
258 sparse sparse matrix support
259
260 specfun special mathematical functions
261
262 special-matrix functions for generating special types of matrices
263
264 startup initialization functions
265
266 statistics statistical functions, distributions, and tests
267
268 strings character string manipulation
269
270 testfun unit testing
271
272 time time and date functions
273
173 274
174 test -- tests for the interpreter 275 test -- tests for the interpreter
175 test_*.m * fixed tests for the interpreter 276
176 fntests.m * script to run function tests embedded in C++ and .m files 277 test_ .m fixed tests for the interpreter
177 278
178 gui -- the graphical user interface of GNU Octave 279 fntests.m script to run function tests embedded in C++ and .m
179 src * source files. 280 files
180 m-editor * source files for the m-file editor. 281
181 octave-adapter * souce files for the octave layer for threadsafe
182 communication with the octave interpreter.
183 qtinfo * source files for the Qt texinfo browser.
184 icons * icon files that will be compiled into the executable via
185 a resource file.
186 qterminal * subrepository for the qterminal Qt terminal widget.
187 languages * translation files and list of translators.
188 kb-layouts * various files need by the qterminal widget that has been
189 derived from Konsole.
190
191 ---- 282 ----
192 John W. Eaton 283 John W. Eaton
193 jwe@octave.org 284 jwe@octave.org
194 285
195 286
196 Last updated: Tue Nov 22 20:51:34 PST 2011 287 Last updated: Sat, 18 Aug 2012 18:51:25 EDT
197 288
198 289
199 ################################################################################ 290 ################################################################################
200 291
201 Copyright (C) 2009,2012 John W. Eaton 292 Copyright (C) 2009-2012 John W. Eaton
202 293
203 This file is part of Octave. 294 This file is part of Octave.
204 295
205 Octave is free software; you can redistribute it and/or modify it 296 Octave is free software; you can redistribute it and/or modify it
206 under the terms of the GNU General Public License as published by the 297 under the terms of the GNU General Public License as published by the