Mercurial > hg > sv-dependency-builds
comparison src/fftw-3.3.3/doc/FAQ/m-info.pl @ 10:37bf6b4a2645
Add FFTW3
author | Chris Cannam |
---|---|
date | Wed, 20 Mar 2013 15:35:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
9:c0fb53affa76 | 10:37bf6b4a2645 |
---|---|
1 ## Info output | |
2 # Copyright (C) 1993-1995 Ian Jackson. | |
3 | |
4 # This file is free software; you can redistribute it and/or modify | |
5 # it under the terms of the GNU General Public License as published by | |
6 # the Free Software Foundation; either version 2, or (at your option) | |
7 # any later version. | |
8 | |
9 # It is distributed in the hope that it will be useful, | |
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 # GNU General Public License for more details. | |
13 | |
14 # You should have received a copy of the GNU General Public License | |
15 # along with GNU Emacs; see the file COPYING. If not, write to | |
16 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
17 # Boston, MA 02111-1307, USA. | |
18 | |
19 # (Note: I do not consider works produced using these BFNN processing | |
20 # tools to be derivative works of the tools, so they are NOT covered | |
21 # by the GPL. However, I would appreciate it if you credited me if | |
22 # appropriate in any documents you format using BFNN.) | |
23 | |
24 sub info_init { | |
25 open(INFO,">$prefix.info"); | |
26 print INFO <<END; | |
27 Info file: $prefix.info, -*-Text-*- | |
28 produced by bfnnconv.pl from the Bizarre Format With No Name. | |
29 | |
30 END | |
31 } | |
32 | |
33 sub info_heading { | |
34 # refstring Node Next Previous Up | |
35 print INFO "\nFile: $prefix.info, Node: $_[1]"; | |
36 print INFO ", Next: $_[2]" if length($_[2]); | |
37 print INFO ", Previous: $_[3]" if length($_[3]); | |
38 print INFO ", Up: $_[4]" if length($_[4]); | |
39 print INFO "\n\n"; | |
40 $info_status= ''; | |
41 } | |
42 | |
43 sub info_startmajorheading { | |
44 return if $_[0] eq '0'; | |
45 &info_heading('s_'.$_[0],@_[1..$#_],'Top'); | |
46 } | |
47 | |
48 sub info_startminorheading { | |
49 &info_heading(@_); | |
50 } | |
51 | |
52 sub info_italic { &info_text('*'); } | |
53 sub info_enditalic { $info_para .= '*'; } | |
54 | |
55 sub info_email { &info_text('<'); } sub info_endemail { &info_text('>'); } | |
56 | |
57 sub info_ftpon { } sub info_endftpon { } | |
58 sub info_ftpin { } sub info_endftpin { } | |
59 sub info_docref { } sub info_enddocref { } | |
60 sub info_courier { } sub info_endcourier { } | |
61 sub info_newsgroup { } sub info_endnewsgroup { } | |
62 sub info_ftpsilent { $info_ignore++; } | |
63 sub info_endftpsilent { $info_ignore--; } | |
64 | |
65 sub info_text { | |
66 return if $info_ignore; | |
67 if ($info_status eq '') { | |
68 $info_status= 'p'; | |
69 } | |
70 $info_para .= $_[0]; | |
71 } | |
72 | |
73 sub info_tab { | |
74 local ($n) = $_[0]-length($info_para); | |
75 $info_para .= ' 'x$n if $n>0; | |
76 } | |
77 | |
78 sub info_newline { | |
79 return unless $info_status eq 'p'; | |
80 print INFO &info_writepara; | |
81 } | |
82 | |
83 sub info_writepara { | |
84 local ($thisline, $thisword, $rest, $output); | |
85 for (;;) { | |
86 last unless $info_para =~ m/\S/; | |
87 $thisline= $info_indentstring; | |
88 for (;;) { | |
89 last unless $info_para =~ m/^(\s*\S+)/; | |
90 unless (length($1) + length($thisline) < 75 || | |
91 length($thisline) == length($info_indentstring)) { | |
92 last; | |
93 } | |
94 $thisline .= $1; | |
95 $info_para= $'; | |
96 } | |
97 $info_para =~ s/^\s*//; | |
98 $output.= $thisline."\n"; | |
99 $info_indentstring= $info_nextindent; | |
100 last unless length($info_para); | |
101 } | |
102 $info_status= ''; $info_para= ''; | |
103 return $output; | |
104 } | |
105 | |
106 sub info_endpara { | |
107 return unless $info_status eq 'p'; | |
108 print INFO &info_writepara; | |
109 print INFO "\n"; | |
110 } | |
111 | |
112 sub info_endheading { | |
113 $info_para =~ s/\s*$//; | |
114 print INFO "$info_para\n\n"; | |
115 $info_status= ''; | |
116 $info_para= ''; | |
117 } | |
118 | |
119 sub info_endmajorheading { &info_endheading(@_); } | |
120 sub info_endminorheading { &info_endheading(@_); } | |
121 | |
122 sub info_startverbatim { | |
123 print INFO &info_writepara; | |
124 } | |
125 | |
126 sub info_verbatim { | |
127 print INFO $_[0],"\n"; | |
128 } | |
129 | |
130 sub info_endverbatim { | |
131 $info_status= $info_vstatus; | |
132 } | |
133 | |
134 sub info_finish { | |
135 close(INFO); | |
136 } | |
137 | |
138 sub info_startindex { | |
139 &info_endpara; | |
140 $info_moredetail= ''; | |
141 $info_status= ''; | |
142 } | |
143 | |
144 sub info_endindex { | |
145 print INFO "$info_moredetail\n" if length($info_moredetail); | |
146 } | |
147 | |
148 sub info_endindexitem { | |
149 $info_indentstring= sprintf("* %-17s ",$info_label.'::'); | |
150 $info_nextindent= ' 'x20; | |
151 local ($txt); | |
152 $txt= &info_writepara; | |
153 if ($info_main) { | |
154 print INFO $label.$txt; | |
155 $txt =~ s/^.{20}//; | |
156 $info_moredetail.= $txt; | |
157 } else { | |
158 $info_moredetail.= $label.$txt; | |
159 } | |
160 $info_indentstring= $info_nextindent= ''; | |
161 $info_status='p'; | |
162 } | |
163 | |
164 sub info_startindexitem { | |
165 print INFO "* Menu:\n" if $info_status eq ''; | |
166 $info_status= ''; | |
167 $info_label= $_[2]; | |
168 $info_main= 0; | |
169 } | |
170 | |
171 sub info_startindexmainitem { | |
172 print INFO "* Menu:\n" if $info_status eq ''; | |
173 $info_label= $_[2]; | |
174 $info_main= 1; | |
175 $info_moredetail .= "\n$_[2], "; | |
176 $info_status= ''; | |
177 } | |
178 | |
179 sub info_startindent { | |
180 $info_istatus= $info_status; | |
181 print INFO &info_writepara; | |
182 $info_indentstring= " $info_indentstring"; | |
183 $info_nextindent= " $info_nextindent"; | |
184 } | |
185 | |
186 sub info_endindent { | |
187 $info_indentstring =~ s/^ //; | |
188 $info_nextindent =~ s/^ //; | |
189 $info_status= $info_istatus; | |
190 } | |
191 | |
192 sub info_startpackedlist { $info_plc=0; } | |
193 sub info_endpackedlist { &info_newline if !$info_plc; } | |
194 sub info_packeditem { | |
195 &info_newline if !$info_plc; | |
196 &info_tab($info_plc*40+5); | |
197 $info_plc= !$info_plc; | |
198 } | |
199 | |
200 sub info_startlist { | |
201 $info_istatus= $info_status; | |
202 print INFO &info_writepara; | |
203 $info_indentstring= " $info_indentstring"; | |
204 $info_nextindent= " $info_nextindent"; | |
205 } | |
206 | |
207 sub info_endlist { | |
208 $info_indentstring =~ s/^ //; | |
209 $info_nextindent =~ s/^ //; | |
210 $info_status= $info_lstatus; | |
211 } | |
212 | |
213 sub info_item { | |
214 &info_newline; | |
215 $info_indentstring =~ s/ $/* /; | |
216 } | |
217 | |
218 sub info_pageref { | |
219 &info_text("*Note Question $_[1]:: \`"); | |
220 } | |
221 | |
222 sub info_endpageref { | |
223 &info_text("'"); | |
224 } | |
225 | |
226 1; |