Révision 134

pobysoC-4.0/src/pobysoC-4.0.doxyconf (revision 134)
1
# Doxyfile 1.3-rc2
2

  
3
# This file describes the settings to be used by the documentation system
4
# doxygen (www.doxygen.org) for a project
5
#
6
# All text after a hash (#) is considered a comment and will be ignored
7
# The format is:
8
#       TAG = value [value, ...]
9
# For lists items can also be appended using:
10
#       TAG += value [value, ...]
11
# Values that contain spaces should be placed between quotes (" ")
12

  
13
#---------------------------------------------------------------------------
14
# General configuration options
15
#---------------------------------------------------------------------------
16

  
17
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
18
# by quotes) that should identify the project.
19

  
20
PROJECT_NAME           = pobysoC
21

  
22
# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
23
# This could be handy for archiving the generated documentation or 
24
# if some version control system is used.
25

  
26
PROJECT_NUMBER         = 0.1
27

  
28
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
29
# base path where the generated documentation will be put. 
30
# If a relative path is entered, it will be relative to the location 
31
# where doxygen was started. If left blank the current directory will be used.
32

  
33
OUTPUT_DIRECTORY       = doxygen
34

  
35
# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
36
# documentation generated by doxygen is written. Doxygen will use this 
37
# information to generate all constant output in the proper language. 
38
# The default language is English, other supported languages are: 
39
# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, 
40
# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en 
41
# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese, 
42
# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian.
43

  
44
OUTPUT_LANGUAGE        = English
45

  
46
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
47
# documentation are documented, even if no documentation was available. 
48
# Private class members and static file members will be hidden unless 
49
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
50
# Default: NO
51

  
52
EXTRACT_ALL            = YES
53

  
54
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
55
# will be included in the documentation.
56
# Default: NO
57

  
58
EXTRACT_PRIVATE        = YES
59

  
60
# If the EXTRACT_STATIC tag is set to YES all static members of a file 
61
# will be included in the documentation.
62
# Default: NO
63

  
64
EXTRACT_STATIC         = YES
65

  
66
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
67
# defined locally in source files will be included in the documentation. 
68
# If set to NO only classes defined in header files are included.
69

  
70
EXTRACT_LOCAL_CLASSES  = YES
71

  
72
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
73
# undocumented members of documented classes, files or namespaces. 
74
# If set to NO (the default) these members will be included in the 
75
# various overviews, but no documentation section is generated. 
76
# This option has no effect if EXTRACT_ALL is enabled.
77

  
78
HIDE_UNDOC_MEMBERS     = NO
79

  
80
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
81
# undocumented classes that are normally visible in the class hierarchy. 
82
# If set to NO (the default) these class will be included in the various 
83
# overviews. This option has no effect if EXTRACT_ALL is enabled.
84

  
85
HIDE_UNDOC_CLASSES     = NO
86

  
87
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
88
# friend (class|struct|union) declarations. 
89
# If set to NO (the default) these declarations will be included in the 
90
# documentation.
91

  
92
HIDE_FRIEND_COMPOUNDS  = NO
93

  
94
# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
95
# documentation blocks found inside the body of a function. 
96
# If set to NO (the default) these blocks will be appended to the 
97
# function's detailed documentation block.
98

  
99
HIDE_IN_BODY_DOCS      = NO
100

  
101
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
102
# include brief member descriptions after the members that are listed in 
103
# the file and class documentation (similar to JavaDoc). 
104
# Set to NO to disable this.
105

  
106
BRIEF_MEMBER_DESC      = YES
107

  
108
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
109
# the brief description of a member or function before the detailed description. 
110
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
111
# brief descriptions will be completely suppressed.
112

  
113
REPEAT_BRIEF           = YES
114

  
115
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
116
# Doxygen will generate a detailed section even if there is only a brief 
117
# description.
118
# Default: NO
119

  
120
ALWAYS_DETAILED_SEC    = YES
121

  
122
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
123
# members of a class in the documentation of that class as if those members were 
124
# ordinary class members. Constructors, destructors and assignment operators of 
125
# the base classes will not be shown.
126
# Default: NO
127

  
128
INLINE_INHERITED_MEMB  = YES
129

  
130
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
131
# path before files name in the file list and in the header files. If set 
132
# to NO the shortest path that makes the file name unique will be used.
133

  
134
FULL_PATH_NAMES        = NO
135

  
136
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
137
# can be used to strip a user defined part of the path. Stripping is 
138
# only done if one of the specified strings matches the left-hand part of 
139
# the path. It is allowed to use relative paths in the argument list.
140

  
141
STRIP_FROM_PATH        = 
142

  
143
# The INTERNAL_DOCS tag determines if documentation 
144
# that is typed after a \internal command is included. If the tag is set 
145
# to NO (the default) then the documentation will be excluded. 
146
# Set it to YES to include the internal documentation.
147

  
148
INTERNAL_DOCS          = NO
149

  
150
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
151
# file names in lower case letters. If set to YES upper case letters are also 
152
# allowed. This is useful if you have classes or files whose names only differ 
153
# in case and if your file system supports case sensitive file names. Windows 
154
# users are adviced to set this option to NO.
155

  
156
CASE_SENSE_NAMES       = YES
157

  
158
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
159
# (but less readable) file names. This can be useful is your file systems 
160
# doesn't support long names like on DOS, Mac, or CD-ROM.
161

  
162
SHORT_NAMES            = NO
163

  
164
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
165
# will show members with their full class and namespace scopes in the 
166
# documentation. If set to YES the scope will be hidden.
167

  
168
HIDE_SCOPE_NAMES       = NO
169

  
170
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
171
# will generate a verbatim copy of the header file for each class for 
172
# which an include is specified. Set to NO to disable this.
173

  
174
VERBATIM_HEADERS       = YES
175

  
176
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
177
# will put list of the files that are included by a file in the documentation 
178
# of that file.
179

  
180
SHOW_INCLUDE_FILES     = YES
181

  
182
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
183
# will interpret the first line (until the first dot) of a JavaDoc-style 
184
# comment as the brief description. If set to NO, the JavaDoc 
185
# comments  will behave just like the Qt-style comments (thus requiring an 
186
# explict @brief command for a brief description.
187
# Default: NO
188

  
189
JAVADOC_AUTOBRIEF      = YES
190

  
191
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
192
# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
193
# comments) as a brief description. This used to be the default behaviour. 
194
# The new default is to treat a multi-line C++ comment block as a detailed 
195
# description. Set this tag to YES if you prefer the old behaviour instead.
196

  
197
MULTILINE_CPP_IS_BRIEF = NO
198

  
199
# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
200
# will output the detailed description near the top, like JavaDoc.
201
# If set to NO, the detailed description appears after the member 
202
# documentation.
203
# Default: NO
204

  
205
DETAILS_AT_TOP         = YES
206

  
207
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
208
# member inherits the documentation from any documented member that it 
209
# reimplements.
210

  
211
INHERIT_DOCS           = YES
212

  
213
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
214
# is inserted in the documentation for inline members.
215

  
216
INLINE_INFO            = YES
217

  
218
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
219
# will sort the (detailed) documentation of file and class members 
220
# alphabetically by member name. If set to NO the members will appear in 
221
# declaration order.
222

  
223
SORT_MEMBER_DOCS       = YES
224

  
225
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
226
# tag is set to YES, then doxygen will reuse the documentation of the first 
227
# member in the group (if any) for the other members of the group. By default 
228
# all members of a group must be documented explicitly.
229

  
230
DISTRIBUTE_GROUP_DOC   = NO
231

  
232
# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
233
# Doxygen uses this value to replace tabs by spaces in code fragments.
234

  
235
TAB_SIZE               = 8
236

  
237
# The GENERATE_TODOLIST tag can be used to enable (YES) or 
238
# disable (NO) the todo list. This list is created by putting \todo 
239
# commands in the documentation.
240

  
241
GENERATE_TODOLIST      = YES
242

  
243
# The GENERATE_TESTLIST tag can be used to enable (YES) or 
244
# disable (NO) the test list. This list is created by putting \test 
245
# commands in the documentation.
246

  
247
GENERATE_TESTLIST      = YES
248

  
249
# The GENERATE_BUGLIST tag can be used to enable (YES) or 
250
# disable (NO) the bug list. This list is created by putting \bug 
251
# commands in the documentation.
252

  
253
GENERATE_BUGLIST       = YES
254

  
255
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
256
# disable (NO) the deprecated list. This list is created by putting 
257
# \deprecated commands in the documentation.
258

  
259
GENERATE_DEPRECATEDLIST= YES
260

  
261
# This tag can be used to specify a number of aliases that acts 
262
# as commands in the documentation. An alias has the form "name=value". 
263
# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
264
# put the command \sideeffect (or @sideeffect) in the documentation, which 
265
# will result in a user defined paragraph with heading "Side Effects:". 
266
# You can put \n's in the value part of an alias to insert newlines.
267

  
268
ALIASES                = 
269

  
270
# The ENABLED_SECTIONS tag can be used to enable conditional 
271
# documentation sections, marked by \if sectionname ... \endif.
272

  
273
ENABLED_SECTIONS       = 
274

  
275
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
276
# the initial value of a variable or define consist of for it to appear in 
277
# the documentation. If the initializer consists of more lines than specified 
278
# here it will be hidden. Use a value of 0 to hide initializers completely. 
279
# The appearance of the initializer of individual variables and defines in the 
280
# documentation can be controlled using \showinitializer or \hideinitializer 
281
# command in the documentation regardless of this setting.
282

  
283
MAX_INITIALIZER_LINES  = 30
284

  
285
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
286
# only. Doxygen will then generate output that is more tailored for C. 
287
# For instance some of the names that are used will be different. The list 
288
# of all members will be omitted, etc.
289

  
290
OPTIMIZE_OUTPUT_FOR_C  = NO
291

  
292
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
293
# only. Doxygen will then generate output that is more tailored for Java. 
294
# For instance namespaces will be presented as packages, qualified scopes 
295
# will look different, etc.
296

  
297
OPTIMIZE_OUTPUT_JAVA   = NO
298

  
299
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
300
# at the bottom of the documentation of classes and structs. If set to YES the 
301
# list will mention the files that were used to generate the documentation.
302

  
303
SHOW_USED_FILES        = YES
304

  
305
#---------------------------------------------------------------------------
306
# configuration options related to warning and progress messages
307
#---------------------------------------------------------------------------
308

  
309
# The QUIET tag can be used to turn on/off the messages that are generated 
310
# by doxygen. Possible values are YES and NO. If left blank NO is used.
311

  
312
QUIET                  = NO
313

  
314
# The WARNINGS tag can be used to turn on/off the warning messages that are 
315
# generated by doxygen. Possible values are YES and NO. If left blank 
316
# NO is used.
317

  
318
WARNINGS               = YES
319

  
320
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
321
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
322
# automatically be disabled.
323

  
324
WARN_IF_UNDOCUMENTED   = YES
325

  
326
# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
327
# potential errors in the documentation, such as not documenting some 
328
# parameters in a documented function, or documenting parameters that 
329
# don't exist or using markup commands wrongly.
330

  
331
WARN_IF_DOC_ERROR      = YES
332

  
333
# The WARN_FORMAT tag determines the format of the warning messages that 
334
# doxygen can produce. The string should contain the $file, $line, and $text 
335
# tags, which will be replaced by the file and line number from which the 
336
# warning originated and the warning text.
337

  
338
WARN_FORMAT            = "$file:$line: $text"
339

  
340
# The WARN_LOGFILE tag can be used to specify a file to which warning 
341
# and error messages should be written. If left blank the output is written 
342
# to stderr.
343

  
344
WARN_LOGFILE           = 
345

  
346
#---------------------------------------------------------------------------
347
# configuration options related to the input files
348
#---------------------------------------------------------------------------
349

  
350
# The INPUT tag can be used to specify the files and/or directories that contain 
351
# documented source files. You may enter file names like "myfile.cpp" or 
352
# directories like "/usr/src/myproject". Separate the files or directories 
353
# with spaces.
354

  
355
INPUT                  = 
356

  
357
# If the value of the INPUT tag contains directories, you can use the 
358
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
359
# and *.h) to filter out the source-files in the directories. If left 
360
# blank the following patterns are tested: 
361
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
362
# *.h++ *.idl *.odl
363

  
364
FILE_PATTERNS          = 
365

  
366
# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
367
# should be searched for input files as well. Possible values are YES and NO. 
368
# If left blank NO is used.
369
# Default: NO
370

  
371
RECURSIVE              = YES
372

  
373
# The EXCLUDE tag can be used to specify files and/or directories that should 
374
# excluded from the INPUT source files. This way you can easily exclude a 
375
# subdirectory from a directory tree whose root is specified with the INPUT tag.
376

  
377
EXCLUDE                = 
378

  
379
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
380
# that are symbolic links (a Unix filesystem feature) are excluded from the input.
381

  
382
EXCLUDE_SYMLINKS       = NO
383

  
384
# If the value of the INPUT tag contains directories, you can use the 
385
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
386
# certain files from those directories.
387
# Default: empty
388

  
389
EXCLUDE_PATTERNS       = *.proj *.snprj Makefile test*
390

  
391
# The EXAMPLE_PATH tag can be used to specify one or more files or 
392
# directories that contain example code fragments that are included (see 
393
# the \include command).
394

  
395
EXAMPLE_PATH           = 
396

  
397
# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
398
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
399
# and *.h) to filter out the source-files in the directories. If left 
400
# blank all files are included.
401

  
402
EXAMPLE_PATTERNS       = 
403

  
404
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
405
# searched for input files to be used with the \include or \dontinclude 
406
# commands irrespective of the value of the RECURSIVE tag. 
407
# Possible values are YES and NO. If left blank NO is used.
408

  
409
EXAMPLE_RECURSIVE      = NO
410

  
411
# The IMAGE_PATH tag can be used to specify one or more files or 
412
# directories that contain image that are included in the documentation (see 
413
# the \image command).
414

  
415
IMAGE_PATH             = 
416

  
417
# The INPUT_FILTER tag can be used to specify a program that doxygen should 
418
# invoke to filter for each input file. Doxygen will invoke the filter program 
419
# by executing (via popen()) the command <filter> <input-file>, where <filter> 
420
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
421
# input file. Doxygen will then use the output that the filter program writes 
422
# to standard output.
423

  
424
INPUT_FILTER           = 
425

  
426
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
427
# INPUT_FILTER) will be used to filter the input files when producing source 
428
# files to browse (i.e. when SOURCE_BROWSER is set to YES).
429

  
430
FILTER_SOURCE_FILES    = NO
431

  
432
#---------------------------------------------------------------------------
433
# configuration options related to source browsing
434
#---------------------------------------------------------------------------
435

  
436
# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
437
# be generated. Documented entities will be cross-referenced with these sources.
438

  
439
SOURCE_BROWSER         = NO
440

  
441
# Setting the INLINE_SOURCES tag to YES will include the body 
442
# of functions and classes directly in the documentation.
443

  
444
INLINE_SOURCES         = NO
445

  
446
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
447
# doxygen to hide any special comment blocks from generated source code 
448
# fragments. Normal C and C++ comments will always remain visible.
449

  
450
STRIP_CODE_COMMENTS    = YES
451

  
452
# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
453
# then for each documented function all documented 
454
# functions referencing it will be listed.
455

  
456
REFERENCED_BY_RELATION = YES
457

  
458
# If the REFERENCES_RELATION tag is set to YES (the default) 
459
# then for each documented function all documented entities 
460
# called/used by that function will be listed.
461

  
462
REFERENCES_RELATION    = YES
463

  
464
#---------------------------------------------------------------------------
465
# configuration options related to the alphabetical class index
466
#---------------------------------------------------------------------------
467

  
468
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
469
# of all compounds will be generated. Enable this if the project 
470
# contains a lot of classes, structs, unions or interfaces.
471
# Default: NO
472

  
473
ALPHABETICAL_INDEX     = YES
474

  
475
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
476
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
477
# in which this list will be split (can be a number in the range [1..20])
478

  
479
COLS_IN_ALPHA_INDEX    = 5
480

  
481
# In case all classes in a project start with a common prefix, all 
482
# classes will be put under the same header in the alphabetical index. 
483
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
484
# should be ignored while generating the index headers.
485

  
486
IGNORE_PREFIX          = 
487

  
488
#---------------------------------------------------------------------------
489
# configuration options related to the HTML output
490
#---------------------------------------------------------------------------
491

  
492
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
493
# generate HTML output.
494

  
495
GENERATE_HTML          = YES
496

  
497
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
498
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
499
# put in front of it. If left blank `html' will be used as the default path.
500

  
501
HTML_OUTPUT            = html
502

  
503
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
504
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
505
# doxygen will generate files with .html extension.
506

  
507
HTML_FILE_EXTENSION    = .html
508

  
509
# The HTML_HEADER tag can be used to specify a personal HTML header for 
510
# each generated HTML page. If it is left blank doxygen will generate a 
511
# standard header.
512

  
513
HTML_HEADER            = 
514

  
515
# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
516
# each generated HTML page. If it is left blank doxygen will generate a 
517
# standard footer.
518

  
519
HTML_FOOTER            = 
520

  
521
# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
522
# style sheet that is used by each HTML page. It can be used to 
523
# fine-tune the look of the HTML output. If the tag is left blank doxygen 
524
# will generate a default style sheet
525

  
526
HTML_STYLESHEET        = 
527

  
528
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
529
# files or namespaces will be aligned in HTML using tables. If set to 
530
# NO a bullet list will be used.
531

  
532
HTML_ALIGN_MEMBERS     = YES
533

  
534
# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
535
# will be generated that can be used as input for tools like the 
536
# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
537
# of the generated HTML documentation.
538

  
539
GENERATE_HTMLHELP      = NO
540

  
541
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
542
# be used to specify the file name of the resulting .chm file. You 
543
# can add a path in front of the file if the result should not be 
544
# written to the html output dir.
545

  
546
CHM_FILE               = 
547

  
548
# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
549
# be used to specify the location (absolute path including file name) of 
550
# the HTML help compiler (hhc.exe). If non empty doxygen will try to run 
551
# the html help compiler on the generated index.hhp.
552

  
553
HHC_LOCATION           = 
554

  
555
# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
556
# controls if a separate .chi index file is generated (YES) or that 
557
# it should be included in the master .chm file (NO).
558

  
559
GENERATE_CHI           = NO
560

  
561
# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
562
# controls whether a binary table of contents is generated (YES) or a 
563
# normal table of contents (NO) in the .chm file.
564

  
565
BINARY_TOC             = NO
566

  
567
# The TOC_EXPAND flag can be set to YES to add extra items for group members 
568
# to the contents of the Html help documentation and to the tree view.
569

  
570
TOC_EXPAND             = NO
571

  
572
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
573
# top of each HTML page. The value NO (the default) enables the index and 
574
# the value YES disables it.
575

  
576
DISABLE_INDEX          = NO
577

  
578
# This tag can be used to set the number of enum values (range [1..20]) 
579
# that doxygen will group on one line in the generated HTML documentation.
580

  
581
ENUM_VALUES_PER_LINE   = 4
582

  
583
# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
584
# generated containing a tree-like index structure (just like the one that 
585
# is generated for HTML Help). For this to work a browser that supports 
586
# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, 
587
# or Internet explorer 4.0+). Note that for large projects the tree generation 
588
# can take a very long time. In such cases it is better to disable this feature. 
589
# Windows users are probably better off using the HTML help feature.
590

  
591
GENERATE_TREEVIEW      = NO
592

  
593
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
594
# used to set the initial width (in pixels) of the frame in which the tree 
595
# is shown.
596

  
597
TREEVIEW_WIDTH         = 250
598

  
599
#---------------------------------------------------------------------------
600
# configuration options related to the LaTeX output
601
#---------------------------------------------------------------------------
602

  
603
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
604
# generate Latex output.
605

  
606
GENERATE_LATEX         = NO
607

  
608
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
609
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
610
# put in front of it. If left blank `latex' will be used as the default path.
611

  
612
LATEX_OUTPUT           = latex
613

  
614
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
615
# invoked. If left blank `latex' will be used as the default command name.
616

  
617
LATEX_CMD_NAME         = latex
618

  
619
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
620
# generate index for LaTeX. If left blank `makeindex' will be used as the 
621
# default command name.
622

  
623
MAKEINDEX_CMD_NAME     = makeindex
624

  
625
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
626
# LaTeX documents. This may be useful for small projects and may help to 
627
# save some trees in general.
628

  
629
COMPACT_LATEX          = NO
630

  
631
# The PAPER_TYPE tag can be used to set the paper type that is used 
632
# by the printer. Possible values are: a4, a4wide, letter, legal and 
633
# executive. If left blank a4wide will be used.
634

  
635
PAPER_TYPE             = a4wide
636

  
637
# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
638
# packages that should be included in the LaTeX output.
639

  
640
EXTRA_PACKAGES         = 
641

  
642
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
643
# the generated latex document. The header should contain everything until 
644
# the first chapter. If it is left blank doxygen will generate a 
645
# standard header. Notice: only use this tag if you know what you are doing!
646

  
647
LATEX_HEADER           = 
648

  
649
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
650
# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
651
# contain links (just like the HTML output) instead of page references 
652
# This makes the output suitable for online browsing using a pdf viewer.
653

  
654
PDF_HYPERLINKS         = NO
655

  
656
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
657
# plain latex in the generated Makefile. Set this option to YES to get a 
658
# higher quality PDF documentation.
659

  
660
USE_PDFLATEX           = NO
661

  
662
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
663
# command to the generated LaTeX files. This will instruct LaTeX to keep 
664
# running if errors occur, instead of asking the user for help. 
665
# This option is also used when generating formulas in HTML.
666

  
667
LATEX_BATCHMODE        = NO
668

  
669
#---------------------------------------------------------------------------
670
# configuration options related to the RTF output
671
#---------------------------------------------------------------------------
672

  
673
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
674
# The RTF output is optimised for Word 97 and may not look very pretty with 
675
# other RTF readers or editors.
676

  
677
GENERATE_RTF           = NO
678

  
679
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
680
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
681
# put in front of it. If left blank `rtf' will be used as the default path.
682

  
683
RTF_OUTPUT             = rtf
684

  
685
# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
686
# RTF documents. This may be useful for small projects and may help to 
687
# save some trees in general.
688

  
689
COMPACT_RTF            = NO
690

  
691
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
692
# will contain hyperlink fields. The RTF file will 
693
# contain links (just like the HTML output) instead of page references. 
694
# This makes the output suitable for online browsing using WORD or other 
695
# programs which support those fields. 
696
# Note: wordpad (write) and others do not support links.
697

  
698
RTF_HYPERLINKS         = NO
699

  
700
# Load stylesheet definitions from file. Syntax is similar to doxygen's 
701
# config file, i.e. a series of assigments. You only have to provide 
702
# replacements, missing definitions are set to their default value.
703

  
704
RTF_STYLESHEET_FILE    = 
705

  
706
# Set optional variables used in the generation of an rtf document. 
707
# Syntax is similar to doxygen's config file.
708

  
709
RTF_EXTENSIONS_FILE    = 
710

  
711
#---------------------------------------------------------------------------
712
# configuration options related to the man page output
713
#---------------------------------------------------------------------------
714

  
715
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
716
# generate man pages
717

  
718
GENERATE_MAN           = NO
719

  
720
# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
721
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
722
# put in front of it. If left blank `man' will be used as the default path.
723

  
724
MAN_OUTPUT             = man
725

  
726
# The MAN_EXTENSION tag determines the extension that is added to 
727
# the generated man pages (default is the subroutine's section .3)
728

  
729
MAN_EXTENSION          = .3
730

  
731
# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
732
# then it will generate one additional man file for each entity 
733
# documented in the real man page(s). These additional files 
734
# only source the real man page, but without them the man command 
735
# would be unable to find the correct page. The default is NO.
736

  
737
MAN_LINKS              = NO
738

  
739
#---------------------------------------------------------------------------
740
# configuration options related to the XML output
741
#---------------------------------------------------------------------------
742

  
743
# If the GENERATE_XML tag is set to YES Doxygen will 
744
# generate an XML file that captures the structure of 
745
# the code including all documentation. Note that this 
746
# feature is still experimental and incomplete at the 
747
# moment.
748

  
749
GENERATE_XML           = NO
750

  
751
# The XML_SCHEMA tag can be used to specify an XML schema, 
752
# which can be used by a validating XML parser to check the 
753
# syntax of the XML files.
754

  
755
XML_SCHEMA             = 
756

  
757
# The XML_DTD tag can be used to specify an XML DTD, 
758
# which can be used by a validating XML parser to check the 
759
# syntax of the XML files.
760

  
761
XML_DTD                = 
762

  
763
#---------------------------------------------------------------------------
764
# configuration options for the AutoGen Definitions output
765
#---------------------------------------------------------------------------
766

  
767
# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
768
# generate an AutoGen Definitions (see autogen.sf.net) file 
769
# that captures the structure of the code including all 
770
# documentation. Note that this feature is still experimental 
771
# and incomplete at the moment.
772

  
773
GENERATE_AUTOGEN_DEF   = NO
774

  
775
#---------------------------------------------------------------------------
776
# configuration options related to the Perl module output
777
#---------------------------------------------------------------------------
778

  
779
# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
780
# generate a Perl module file that captures the structure of 
781
# the code including all documentation. Note that this 
782
# feature is still experimental and incomplete at the 
783
# moment.
784

  
785
GENERATE_PERLMOD       = NO
786

  
787
# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
788
# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
789
# to generate PDF and DVI output from the Perl module output.
790

  
791
PERLMOD_LATEX          = NO
792

  
793
# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
794
# nicely formatted so it can be parsed by a human reader.  This is useful 
795
# if you want to understand what is going on.  On the other hand, if this 
796
# tag is set to NO the size of the Perl module output will be much smaller 
797
# and Perl will parse it just the same.
798

  
799
PERLMOD_PRETTY         = YES
800

  
801
# The names of the make variables in the generated doxyrules.make file 
802
# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
803
# This is useful so different doxyrules.make files included by the same 
804
# Makefile don't overwrite each other's variables.
805

  
806
PERLMOD_MAKEVAR_PREFIX = 
807

  
808
#---------------------------------------------------------------------------
809
# Configuration options related to the preprocessor   
810
#---------------------------------------------------------------------------
811

  
812
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
813
# evaluate all C-preprocessor directives found in the sources and include 
814
# files.
815

  
816
ENABLE_PREPROCESSING   = YES
817

  
818
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
819
# names in the source code. If set to NO (the default) only conditional 
820
# compilation will be performed. Macro expansion can be done in a controlled 
821
# way by setting EXPAND_ONLY_PREDEF to YES.
822

  
823
MACRO_EXPANSION        = NO
824

  
825
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
826
# then the macro expansion is limited to the macros specified with the 
827
# PREDEFINED and EXPAND_AS_PREDEFINED tags.
828

  
829
EXPAND_ONLY_PREDEF     = NO
830

  
831
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
832
# in the INCLUDE_PATH (see below) will be search if a #include is found.
833

  
834
SEARCH_INCLUDES        = YES
835

  
836
# The INCLUDE_PATH tag can be used to specify one or more directories that 
837
# contain include files that are not input files but should be processed by 
838
# the preprocessor.
839

  
840
INCLUDE_PATH           = 
841

  
842
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
843
# patterns (like *.h and *.hpp) to filter out the header-files in the 
844
# directories. If left blank, the patterns specified with FILE_PATTERNS will 
845
# be used.
846

  
847
INCLUDE_FILE_PATTERNS  = 
848

  
849
# The PREDEFINED tag can be used to specify one or more macro names that 
850
# are defined before the preprocessor is started (similar to the -D option of 
851
# gcc). The argument of the tag is a list of macros of the form: name 
852
# or name=definition (no spaces). If the definition and the = are 
853
# omitted =1 is assumed.
854

  
855
PREDEFINED             = 
856

  
857
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
858
# this tag can be used to specify a list of macro names that should be expanded. 
859
# The macro definition that is found in the sources will be used. 
860
# Use the PREDEFINED tag if you want to use a different macro definition.
861

  
862
EXPAND_AS_DEFINED      = 
863

  
864
# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
865
# doxygen's preprocessor will remove all function-like macros that are alone 
866
# on a line, have an all uppercase name, and do not end with a semicolon. Such 
867
# function macros are typically used for boiler-plate code, and will confuse the 
868
# parser if not removed.
869

  
870
SKIP_FUNCTION_MACROS   = YES
871

  
872
#---------------------------------------------------------------------------
873
# Configuration::addtions related to external references   
874
#---------------------------------------------------------------------------
875

  
876
# The TAGFILES tag can be used to specify one or more tagfiles.
877

  
878
TAGFILES               = 
879

  
880
# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
881
# a tag file that is based on the input files it reads.
882

  
883
GENERATE_TAGFILE       = 
884

  
885
# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
886
# in the class index. If set to NO only the inherited external classes 
887
# will be listed.
888

  
889
ALLEXTERNALS           = NO
890

  
891
# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
892
# in the modules index. If set to NO, only the current project's groups will 
893
# be listed.
894

  
895
EXTERNAL_GROUPS        = YES
896

  
897
# The PERL_PATH should be the absolute path and name of the perl script 
898
# interpreter (i.e. the result of `which perl').
899

  
900
PERL_PATH              = /usr/bin/perl
901

  
902
#---------------------------------------------------------------------------
903
# Configuration options related to the dot tool   
904
#---------------------------------------------------------------------------
905

  
906
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
907
# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or 
908
# super classes. Setting the tag to NO turns the diagrams off. Note that this 
909
# option is superceded by the HAVE_DOT option below. This is only a fallback. It is 
910
# recommended to install and use dot, since it yield more powerful graphs.
911

  
912
CLASS_DIAGRAMS         = YES
913

  
914
# If set to YES, the inheritance and collaboration graphs will hide 
915
# inheritance and usage relations if the target is undocumented 
916
# or is not a class.
917

  
918
HIDE_UNDOC_RELATIONS   = YES
919

  
920
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
921
# available from the path. This tool is part of Graphviz, a graph visualization 
922
# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
923
# have no effect if this option is set to NO (the default)
924

  
925
HAVE_DOT               = YES
926

  
927
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
928
# will generate a graph for each documented class showing the direct and 
929
# indirect inheritance relations. Setting this tag to YES will force the 
930
# the CLASS_DIAGRAMS tag to NO.
931

  
932
CLASS_GRAPH            = YES
933

  
934
# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
935
# will generate a graph for each documented class showing the direct and 
936
# indirect implementation dependencies (inheritance, containment, and 
937
# class references variables) of the class with other documented classes.
938

  
939
COLLABORATION_GRAPH    = YES
940

  
941
# If set to YES, the inheritance and collaboration graphs will show the 
942
# relations between templates and their instances.
943

  
944
TEMPLATE_RELATIONS     = YES
945

  
946
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
947
# tags are set to YES then doxygen will generate a graph for each documented 
948
# file showing the direct and indirect include dependencies of the file with 
949
# other documented files.
950

  
951
INCLUDE_GRAPH          = YES
952

  
953
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
954
# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
955
# documented header file showing the documented files that directly or 
956
# indirectly include this file.
957

  
958
INCLUDED_BY_GRAPH      = YES
959

  
960
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
961
# will graphical hierarchy of all classes instead of a textual one.
962

  
963
GRAPHICAL_HIERARCHY    = YES
964

  
965
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
966
# generated by dot. Possible values are png, jpg, or gif
967
# If left blank png will be used.
968

  
969
DOT_IMAGE_FORMAT       = png
970

  
971
# The tag DOT_PATH can be used to specify the path where the dot tool can be 
972
# found. If left blank, it is assumed the dot tool can be found on the path.
973

  
974
DOT_PATH               = 
975

  
976
# The DOTFILE_DIRS tag can be used to specify one or more directories that 
977
# contain dot files that are included in the documentation (see the 
978
# \dotfile command).
979

  
980
DOTFILE_DIRS           = 
981

  
982
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
983
# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
984
# this value, doxygen will try to truncate the graph, so that it fits within 
985
# the specified constraint. Beware that most browsers cannot cope with very 
986
# large images.
987

  
988
MAX_DOT_GRAPH_WIDTH    = 1024
989

  
990
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
991
# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
992
# this value, doxygen will try to truncate the graph, so that it fits within 
993
# the specified constraint. Beware that most browsers cannot cope with very 
994
# large images.
995

  
996
MAX_DOT_GRAPH_HEIGHT   = 1024
997

  
998
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
999
# generate a legend page explaining the meaning of the various boxes and 
1000
# arrows in the dot generated graphs.
1001

  
1002
GENERATE_LEGEND        = YES
1003

  
1004
# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
1005
# remove the intermedate dot files that are used to generate 
1006
# the various graphs.
1007

  
1008
DOT_CLEANUP            = YES
1009

  
1010
#---------------------------------------------------------------------------
1011
# Configuration::addtions related to the search engine   
1012
#---------------------------------------------------------------------------
1013

  
1014
# The SEARCHENGINE tag specifies whether or not a search engine should be 
1015
# used. If set to NO the values of all tags below this one will be ignored.
1016

  
1017
SEARCHENGINE           = NO
1018

  
1019
# The CGI_NAME tag should be the name of the CGI script that 
1020
# starts the search engine (doxysearch) with the correct parameters. 
1021
# A script with this name will be generated by doxygen.
1022

  
1023
CGI_NAME               = search.cgi
1024

  
1025
# The CGI_URL tag should be the absolute URL to the directory where the 
1026
# cgi binaries are located. See the documentation of your http daemon for 
1027
# details.
1028

  
1029
CGI_URL                = 
1030

  
1031
# The DOC_URL tag should be the absolute URL to the directory where the 
1032
# documentation is located. If left blank the absolute path to the 
1033
# documentation, with file:// prepended to it, will be used.
1034

  
1035
DOC_URL                = 
1036

  
1037
# The DOC_ABSPATH tag should be the absolute path to the directory where the 
1038
# documentation is located. If left blank the directory on the local machine 
1039
# will be used.
1040

  
1041
DOC_ABSPATH            = 
1042

  
1043
# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
1044
# is installed.
1045

  
1046
BIN_ABSPATH            = /usr/local/bin/
1047

  
1048
# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
1049
# documentation generated for other projects. This allows doxysearch to search 
1050
# the documentation for these projects as well.
1051

  
1052
EXT_DOC_PATHS          = 
pobysoC-4.0/src/test-pobyso-new-monomial.c (revision 134)
1
/** @file test-pobyso-new-monomial.c
2
 * Name & purpose
3
 *
4
 * @author S.T.
5
 * @date 2014-11-10
6
 *
7
 * @details
8
 */
9
/******************************************************************************/
10
/* Headers, applying the "particular to general" convention.*/
11

  
12
#include "pobyso.h"
13

  
14
/* includes of local headers */
15

  
16
/* includes of project headers */
17

  
18
/* includes of system headers */
19

  
20
/* Other declarations */
21

  
22
/* Internal prototypes */
23

  
24
/* Types, constants and macros definitions */
25

  
26
/* Global variables */
27

  
28
/* Functions */
29

  
30
int
31
main(int argc, char** argv)
32
{
33
  pobyso_func_exp_t func_exp  = NULL;
34
  pobyso_func_exp_t monomial  = NULL;
35
  int verbosity               = 0;
36
  long degree                 = 4;
37
  long negativeDegree         = -1;
38
  long zeroDegree             = 0;
39

  
40
  sollya_lib_init();
41

  
42
  pobyso_set_canonical_on();
43
  verbosity = pobyso_get_verbosity();
44

  
45
  /* NULL coefficient. */
46
  fprintf(stdout, "\nNULL coefficient:\n");
47
  if (pobyso_new_monomial(NULL, degree) == NULL)
48
  {
49
    fprintf(stdout, "OK for NULL coefficient and degree %ld.\n", degree);
50
  }
51
  else
52
  {
53
    fprintf(stdout, "Error for NULL coefficient and degree %ld.\n", degree);
54
    return 1;
55
  }
56
  fprintf(stdout, "\n");
57

  
58
  /* Integer constant argument "1". */
59
  fprintf(stdout, "Coefficient \"1\":\n");
60
  func_exp = pobyso_parse_string("1");
61
  monomial = pobyso_new_monomial(func_exp, degree);
62
  if (monomial != NULL)
63
  {
64
    pobyso_autoprint(monomial);
65
    fprintf(stdout, "OK for coefficient \"1\" and degree %ld.\n", degree);
66
    sollya_lib_clear_obj(func_exp);
67
    sollya_lib_clear_obj(monomial);
68
  }
69
  else
70
  {
71
    fprintf(stdout, "Error for \"1\" and degree %ld.\n", degree);
72
    sollya_lib_clear_obj(func_exp);
73
    return 1;
74
  }
75
  fprintf(stdout, "\n");
76

  
77
  /* Double coefficient. */
78
  fprintf(stdout, "Coefficient \"1.1\":\n");
79
  pobyso_set_verbosity_off();
80
  func_exp = pobyso_parse_string("1.1");
81
  pobyso_set_verbosity_to(verbosity);
82
  monomial = pobyso_new_monomial(func_exp, degree);
83
  if (monomial != NULL)
84
  {
85
    pobyso_autoprint(monomial);
86
    fprintf(stdout, "OK.\n");
87
    sollya_lib_clear_obj(func_exp);
88
    sollya_lib_clear_obj(monomial);
89
  }
90
  else
91
  {
92
    fprintf(stdout, "Error for \"1.1\" and degree %ld.\n", degree);
93
    sollya_lib_clear_obj(func_exp);
94
    return 1;
95
  }
96
  fprintf(stdout, "\n");
97

  
98
  /* Rational coefficient. */
99
  fprintf(stdout, "Coefficient \"1/2\":\n");
100
  func_exp = pobyso_parse_string("1/2");
101
  monomial = pobyso_new_monomial(func_exp, degree);
102
  if (monomial != NULL)
103
  {
104
    pobyso_autoprint(monomial);
105
    fprintf(stdout, "OK for coefficient \"1/2\" and degree %ld.\n", degree);
106
    sollya_lib_clear_obj(func_exp);
107
    sollya_lib_clear_obj(monomial);
108
  }
109
  else
110
  {
111
    fprintf(stdout, "Error for coefficient \"1/2\" and degree %ld.\n", degree);
112
    sollya_lib_clear_obj(func_exp);
113
    return 1;
114
  }
115
  fprintf(stdout, "\n");
116

  
117
  /* Pi constant argument */
118
  fprintf(stdout, "Coefficient pi:\n");
119
  pobyso_set_verbosity_off();
120
  func_exp = sollya_lib_pi();
121
  pobyso_set_verbosity_to(verbosity);
122
  monomial = pobyso_new_monomial(func_exp, degree);
123
  if (monomial != NULL)
124
  {
125
    pobyso_set_verbosity_off();
126
    pobyso_autoprint(monomial);
127
    pobyso_set_verbosity_to(verbosity);
128
    fprintf(stdout,"OK for coefficient \"pi\" and degree %ld.\n", degree);
129
    sollya_lib_clear_obj(func_exp);
130
    sollya_lib_clear_obj(monomial);
131
  }
132
  else
133
  {
134
    fprintf(stdout, "Error for coefficient \"pi\" and degree %ld.\n", degree);
135
    sollya_lib_clear_obj(func_exp);
136
    return 1;
137
  }
138
  fprintf(stdout, "\n");
139

  
140
  /* Non constant functional expression x^2. */
141
  fprintf(stdout,"Coefficient \"x^2\":\n");
142
  func_exp = pobyso_parse_string("x^2");
143
  monomial = pobyso_new_monomial(func_exp, degree);
144
  if (monomial == NULL)
145
  {
146
    fprintf(stdout,
147
       "OK for non-constant expression coefficient \"x^2\" with degree %ld.\n",
148
       degree);
149
    sollya_lib_clear_obj(func_exp);
150
  }
151
  else
152
  {
153
    pobyso_autoprint(monomial);
154
    fprintf(stdout,
155
            "Error for non-constant expression \"x^2\" with degree %ld.\n",
156
            degree);
157
    sollya_lib_clear_obj(func_exp);
158
    sollya_lib_clear_obj(monomial);
159
    return 1;
160
  }
161
  fprintf(stdout, "\n");
162

  
163
  /* Non-constant functional expression cos(x). */
164
  fprintf(stdout, "Coefficient \"cos(x)\":\n");
165
  func_exp = pobyso_parse_string("cos(x)");
166
  monomial = pobyso_new_monomial(func_exp, degree);
167
  if (monomial == NULL)
168
  {
169
    pobyso_autoprint(func_exp);
170
    fprintf(stdout,
171
            "OK for non-constant expression \"cos(x)\" with degree %ld.\n",
172
            degree);
173
    sollya_lib_clear_obj(func_exp);
174
  }
175
  else
176
  {
177
    fprintf(stdout,
178
            "Error for coefficient \"cos(x)\" with degree %ld.\n",
179
            degree);
180
    sollya_lib_clear_obj(func_exp);
181
    sollya_lib_clear_obj(monomial);
182
    return 1;
183
  }
184
  fprintf(stdout, "\n");
185

  
186
  /* Constant functional expression cos(pi). */
187
  fprintf(stdout, "Coefficient \"cos(pi)\":\n");
188
  pobyso_set_verbosity_off();
189
  func_exp = pobyso_parse_string("cos(pi)");
190
  pobyso_set_verbosity_to(verbosity);
191
  monomial = pobyso_new_monomial(func_exp, degree);
192
  if (monomial != NULL)
193
  {
194
    pobyso_set_verbosity_off();
195
    pobyso_autoprint(monomial);
196
    pobyso_set_verbosity_to(verbosity);
197
    fprintf(stdout, "OK for coefficient \"cos(pi)\" and degree %ld.\n", degree);
198
    sollya_lib_clear_obj(func_exp);
199
    sollya_lib_clear_obj(monomial);
200
  }
201
  else
202
  {
203
    fprintf(stdout,
204
            "Error for coefficient \"cos(pi)\" and degree %ld.\n",
205
            degree);
206
    sollya_lib_clear_obj(func_exp);
207
    return 1;
208
  }
209
  fprintf(stdout, "\n");
210

  
211
  /* Constant functional expression cos(pi) but with negative degree. */
212
  fprintf(stdout, "Coefficient \"cos(pi)\" with a negative degree:\n");
213
  pobyso_set_verbosity_off();
214
  func_exp = pobyso_parse_string("cos(pi)");
215
  pobyso_set_verbosity_to(verbosity);
216
  monomial = pobyso_new_monomial(func_exp, negativeDegree);
217
  if (monomial == NULL)
218
  {
219
    fprintf(stdout, "OK for \"cos(pi)\" and degree %ld.\n", negativeDegree);
220
    sollya_lib_clear_obj(func_exp);
221
  }
222
  else
223
  {
224
    pobyso_set_verbosity_off();
225
    pobyso_autoprint(monomial);
226
    pobyso_set_verbosity_to(verbosity);
227
    fprintf(stdout, "Error for \"cos(pi)\" and degree %ld.\n", negativeDegree);
228
    sollya_lib_clear_obj(func_exp);
229
    sollya_lib_clear_obj(monomial);
230
    return 1;
231
  }
232
  fprintf(stdout, "\n");
233

  
234
  /* Constant functional expression cos(pi) but with degree == 0. */
235
  fprintf(stdout, "Coefficient \"cos(pi)\" with a degree ==  0:\n");
236
  pobyso_set_verbosity_off();
237
  func_exp = pobyso_parse_string("cos(pi)");
238
  pobyso_set_verbosity_to(verbosity);
239
  monomial = pobyso_new_monomial(func_exp, zeroDegree);
240
  if (monomial != NULL)
241
  {
242
    pobyso_set_verbosity_off();
243
    pobyso_autoprint(monomial);
244
    pobyso_set_verbosity_to(verbosity);
245
    fprintf(stdout, "OK for \"cos(pi)\" and degree %ld.\n", zeroDegree);
246
    sollya_lib_clear_obj(func_exp);
247
    sollya_lib_clear_obj(monomial);
248
  }
249
  else
250
  {
251
    fprintf(stdout, "Error for \"cos(pi)\" and degree %ld.\n", zeroDegree);
252
    sollya_lib_clear_obj(func_exp);
253
    return 1;
254
  }
255
  fprintf(stdout, "\n");
256
  fprintf(stdout, "Check correctly finished.\n");
257
  fprintf(stdout, "\n");
258
/*  */
259

  
260
  sollya_lib_close();
261
  return 0;
262
} /* End main */
0 263

  
pobysoC-4.0/src/pobyso.c (revision 134)
32 32

  
33 33
/* Functions */
34 34

  
35
/* @see pobyso.h#pobyso_autprint */
35
/* @see pobyso.h#pobyso_autoprint */
36 36
void
37
pobyso_autoprint(sollya_obj_t solObj, ...)
37
pobyso_autoprint(sollya_obj_t solObj)
38 38
{
39
  va_list va;
40
  va_start(va, solObj);
41
  sollya_lib_v_autoprint(solObj, va);
42
  va_end(va);
39
  sollya_lib_autoprint(solObj, NULL);
43 40
} /* End pobyso_autoprint. */
44 41

  
42
/* @see pobyso.h#pobyso_get_verbosity */
43
int
44
pobyso_get_verbosity()
45
{
46
  sollya_obj_t verbositySo = NULL;
47
  int verbosity            = 0;
48

  
49
  verbositySo = sollya_lib_get_verbosity();
50
  sollya_lib_get_constant_as_int(&verbosity,verbositySo);
51
  sollya_lib_clear_obj(verbositySo);
52
  return verbosity;
53
} /* End pobyso_get_verbosity. */
54

  
45 55
/* @see pobyso.h#pobyso_is_constant_expression*/
46 56
int
47 57
pobyso_is_constant_expression(sollya_obj_t obj_to_test)
48 58
{
49 59
  mpfr_t dummy;
50 60
  int test;
51
  sollya_obj_t verbosity_level      = NULL;
61
  int initial_verbosity_level      = 0;
62

  
52 63
  /* Test argument. */
53 64
  if (obj_to_test == NULL)
54 65
  {
......
57 68
                        "The expression is a NULL pointer");
58 69
    return 0;
59 70
  }
60
  verbosity_level = pobyso_set_verbosity_off();
71
  initial_verbosity_level = pobyso_set_verbosity_off();
61 72

  
62 73
  if (! sollya_lib_obj_is_function(obj_to_test))
63 74
  {
64
    pobyso_set_verbosity_to(verbosity_level);
65
    sollya_lib_clear_obj(verbosity_level);
75
    pobyso_set_verbosity_to(initial_verbosity_level);
66 76
    return 0;
67 77
  }
68 78
  mpfr_init2(dummy,64);
69 79
  /* Call to previous Sollya function resets verbosity. */
70
  verbosity_level = pobyso_set_verbosity_off();
80
  pobyso_set_verbosity_off();
71 81
  test = sollya_lib_get_constant(dummy, obj_to_test);
72 82
  mpfr_clear(dummy);
73
  pobyso_set_verbosity_to(verbosity_level);
74
  sollya_lib_clear_obj(verbosity_level);
83
  pobyso_set_verbosity_to(initial_verbosity_level);
75 84
  return test;
76 85
} /* End pobyso_is_constant_expression. */
77 86

  
78 87
/** @see pobyso.h#pobyso_new_monomial. */
79 88
pobyso_func_exp_t
80
pobyso_new_monomial(pobyso_func_exp_t coefficientSa, long degree)
89
pobyso_new_monomial(pobyso_func_exp_t coefficientSo, long degree)
81 90
{
82
  sollya_obj_t degreeSa   = NULL;
83
  sollya_obj_t varToPowSa = NULL;
84
  sollya_obj_t monomialSa = NULL;
85
  if (coefficientSa == NULL)
91
  sollya_obj_t degreeSo   = NULL;
92
  sollya_obj_t varToPowSo = NULL;
93
  sollya_obj_t monomialSo = NULL;
94
  int initial_verbosity_level = 0;
95

  
96
  /* Arguments check. */
97
  if (coefficientSo == NULL)
86 98
  {
87 99
    pobyso_error_message("pobyso_parse_string",
88 100
                        "NULL_POINTER_ARGUMENT",
89 101
                        "The expression is a NULL pointer");
90
    return sollya_lib_error();
102
    return NULL;
91 103
  }
92
  if (! pobyso_is_constant_expression(coefficientSa))
104
  if (! pobyso_is_constant_expression(coefficientSo))
93 105
  {
94
    return sollya_lib_error();
106
    return NULL;
95 107
  }
96 108
  if (degree < 0)
97 109
  {
98
    return sollya_lib_error();
110
    pobyso_error_message("pobyso_new_monomial",
111
                        "NEGATIVE_DEGREE_ARGUMENT",
112
                        "The degree is a negative integer");
113
    return NULL;
99 114
  }
100
  degreeSa    = sollya_lib_constant_from_int64(degree);
101
  varToPowSa  = sollya_lib_build_function_pow(sollya_lib_free_variable(),
102
                                              degreeSa);
103
  monomialSa = sollya_lib_mul(coefficientSa,varToPowSa);
104
  sollya_lib_clear_obj(varToPowSa);
105
  return monomialSa;
115
  /* If degree == 0, just return a copy of the coefficient. Do not
116
   * return the coefficient itself to avoid "double clear" issues. */
117
  if (degree == 0)
118
  {
119
    initial_verbosity_level = pobyso_set_verbosity_off();
120
    monomialSo = sollya_lib_copy_obj(coefficientSo);
121
    pobyso_set_verbosity_to(initial_verbosity_level);
122
  }
123
  degreeSo    = sollya_lib_constant_from_int64(degree);
124
  varToPowSo  = sollya_lib_build_function_pow(sollya_lib_free_variable(),
125
                                              degreeSo);
126
  /* Do not use the "build" version to avoid "eating up" the coefficient. */
127
  monomialSo = sollya_lib_mul(coefficientSo,varToPowSo);
128
  sollya_lib_clear_obj(varToPowSo);
129
  /* Do not clear degreeSa: it was "eaten" by sollya-lib_build_function. */
130
  return monomialSo;
106 131
} /* End pobyso_new_monomial. */
107 132

  
108 133
/* @see pobyso.h#pobyso_parse_string*/
......
119 144
    pobyso_error_message("pobyso_parse_string",
120 145
                        "NULL_POINTER_ARGUMENT",
121 146
                        "The expression is a NULL pointer");
122
    return(sollya_lib_error());
147
    return  NULL;
123 148
  }
124 149
  expressionLength = strlen(expression);
125 150
  if (expressionLength == 0)
......
127 152
    pobyso_error_message("pobyso_parse_string",
128 153
                        "EMPTY_STRING_ARGUMENT",
129 154
                        "The expression is an empty string");
130
    return sollya_lib_error();
155
    return NULL;
131 156
  }
132 157
  /* Search from the last char of the expression until, whichever happens
133 158
   * first:
......
161 186
          pobyso_error_message("pobyso_parse_string",
162 187
                                "MEMORY_ALLOCATION_ERROR",
163 188
                                "Could not allocate the expression string");
164
          return sollya_lib_error();
189
          return NULL;
165 190
        }
166 191
        strncpy(expressionWithSemiCo, expression, i+1);
167 192
        expressionWithSemiCo[i + 1] = ';';
......
180 205
  pobyso_error_message("pobyso_parse_string",
181 206
                       "ONLY_BLANK_ARGUMENT",
182 207
                        "The expression is only made of blanks");
183
  return(sollya_lib_error());
208
  return NULL;
184 209

  
185 210
} /* pobyso_parse_string */
186 211

  
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff