%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\"\207" [require ob cc-mode add-to-list org-babel-tangle-lang-exts ("C++" . "cpp")] 3) (defvar org-babel-default-header-args:C nil) #@66 Command used to compile a C source code file into an executable. (defvar org-babel-C-compiler "gcc" (#$ . 592)) #@68 Command used to compile a C++ source code file into an executable. (defvar org-babel-C++-compiler "g++" (#$ . 710)) #@94 Internal variable used to hold which type of C (e.g. C or C++) is currently being evaluated. (defvar org-babel-c-variant nil (#$ . 832)) #@80 Execute BODY according to PARAMS. This function calls `org-babel-execute:C++'. (defalias 'org-babel-execute:cpp #[(body params) "\302 \"\207" [body params org-babel-execute:C++] 3 (#$ . 975)]) #@103 Execute a block of C++ code with org-babel. This function is called by `org-babel-execute-src-block'. (defalias 'org-babel-execute:C++ #[(body params) "\303\304 \n\")\207" [org-babel-c-variant body params cpp org-babel-C-execute] 3 (#$ . 1176)]) #@108 Expand a block of C++ code with org-babel according to it's header arguments (calls `org-babel-C-expand'). (defalias 'org-babel-expand-body:C++ #[(body params) "\303\304 \n\")\207" [org-babel-c-variant body params cpp org-babel-C-expand] 3 (#$ . 1430)]) #@101 Execute a block of C code with org-babel. This function is called by `org-babel-execute-src-block'. (defalias 'org-babel-execute:C #[(body params) "\303\304 \n\")\207" [org-babel-c-variant body params c org-babel-C-execute] 3 (#$ . 1692)]) #@106 Expand a block of C code with org-babel according to it's header arguments (calls `org-babel-C-expand'). (defalias 'org-babel-expand-body:c #[(body params) "\303\304 \n\")\207" [org-babel-c-variant body params c org-babel-C-expand] 3 (#$ . 1940)]) #@90 This function should only be called by `org-babel-execute:C' or `org-babel-execute:C++'. (defalias 'org-babel-C-execute #[(body params) "\306\307\310\232\203\f \311\202 \312\232\205 \313\"\306\314\n\"\315\316\f\"A\315\317\f\"A7\3208\f\"9 \321\322\323!!:;\324\216r:q\2109c\210)r:q\210\325\326\211;\326\327%\210,\330\331\332\310\232\203a <\202i \312\232\205i =\333!\334\3357<\203y 7\202| 7C\336#\333 !%\337\">\340\330 \203\223 \336 P\202\224 \337P\337\"!?\341\315\342\f\"A@\343@\235?\205&\344@\235\204\360 \345@\235\204\360 \346@\235\204\360 \347@\235\204\360 \350@\235\204\360 \351@\235\204\351 \352@\235\204\351 \353@\235\204\351 \354@\235\203\367 \355@\235\204\367 \356?!\202&\306\357!\211A\321\322\323!!BC\360\216rBq\210?c\210)rBq\210\325\326\211C\326\327%\210,\361A!))\362\315\363\f\"A\315\364\f\"A\"\362\315\365\f\"A\315\366\f\"A\"#.\207" [org-babel-c-variant tmp-src-file org-babel-exeext tmp-bin-file params cmdline org-babel-temp-file "C-src-" c ".c" cpp ".cpp" "C-bin-" assoc :cmdline :flags org-babel-C-expand get-buffer-create generate-new-buffer-name " *temp file*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] write-region nil 0 org-babel-eval format "%s -o %s %s %s" org-babel-process-file-name mapconcat identity " " "" org-babel-trim org-babel-reassemble-table :result-params "none" "scalar" "verbatim" "html" "code" "pp" "output" "raw" "org" "drawer" "table" org-babel-read "c-" #[nil "\301!\205 \302!\207" [#2=#:temp-buffer buffer-name kill-buffer] 2] org-babel-import-elisp-from-file org-babel-pick-name :colname-names :colnames :rowname-names :rownames flags body full-body #1# #3=#:temp-file org-babel-C-compiler org-babel-C++-compiler compile results #4=#:--params tmp-file #2# #5=#:temp-file] 10 (#$ . 2195)]) #@84 Expand a block of C or C++ code with org-babel according to it's header arguments. (defalias 'org-babel-C-expand #[(body params) "\306\307\310\311\"\"\312\313\"A\314\230?\312\315\"A\206 \316\317\320\321\322#!\316\312\323\"A\206. \316\317\320\324\322#!!\325\326\325\327\n<\203@ \n\202B \nC\330#\325\331 <\203O \202Q C\330#\325\332\f\330#\203b \333 !\202c \330\257\330#,\207" [params defines includes main-p vars body mapcar cdr org-babel-get-header :var assoc :main "no" :includes org-babel-read org-entry-get nil "includes" t :defines "defines" mapconcat identity #[(inc) "\301\302\"\207" [inc format "#include %s"] 3] "\n" #[(inc) "\301\302\"\207" [inc format "#define %s"] 3] org-babel-C-var-to-C org-babel-C-ensure-main-wrap] 9 (#$ . 4019)]) #@53 Wrap BODY in a "main" function call if none exists. (defalias 'org-babel-C-ensure-main-wrap #[(body) "\301\302\"\203 \207\303\304\"\207" [body string-match "^[ ]*[intvod]+[ \n ]*main[ ]*(.*)" format "int main() {\n%s\nreturn 0;\n}\n"] 3 (#$ . 4786)]) #@85 This function does nothing as C is a compiled language with no support for sessions (defalias 'org-babel-prep-session:C #[(session params) "\300\301!\207" [error "C is a compiled languages -- no support for sessions"] 2 (#$ . 5050)]) #@85 This function does nothing as C is a compiled language with no support for sessions (defalias 'org-babel-load-session:C #[(session body params) "\300\301!\207" [error "C is a compiled languages -- no support for sessions"] 2 (#$ . 5290)]) #@56 Handle the FORMAT part of TYPE with the data from VAL. (defalias 'org-babel-C-format-val #[(type val) "A@\211;\203 \303\304 \n\"B\202 \n!)\207" [type format-data val "" format] 5 (#$ . 5535)]) #@182 Determine the type of VAL. Return a list (TYPE-NAME FORMAT). TYPE-NAME should be the name of the type. FORMAT can be either a format string or a function which is called with VAL. (defalias 'org-babel-C-val-to-C-type #[(val) "\250\203 \303\207\304!\203 \305\207<\204 \306!\2039 \307\310!\211\211\311!L\210) J@\312\313\314\315\316D\315 D\317FE)D\207\320\207" [val #1=#:--cl-type-- #2=#:v ("int" "%d") floatp ("double" "%f") vectorp make-symbol "--type--" org-babel-C-val-to-C-list-type lambda #4=(&rest --cl-rest--) apply quote #[(#3=#:G1 val) "\302\303G\304 J\305\234\"@#\306\307\310\311\312\313\314D\313 D\315FE\316#\317QB\207" [val #3# format "[%d]%s" org-babel-C-format-val 0 "{ " mapconcat lambda #4# apply quote #[(#5=#:G0 v) "\302J \"A\207" [#5# v org-babel-C-format-val] 3] --cl-rest-- ", " " }"] 9] --cl-rest-- ("char" (lambda (val) (let ((s (format "%s" val))) (cons (format "[%d]" (1+ (length s))) (concat "\"" s "\"")))))] 8 (#$ . 5740)]) #@38 Determine the C array type of a VAL. (defalias 'org-babel-C-val-to-C-list-type #[(val) "\302\303\304 \"\210)\207" [type val nil mapc #[(i) "\305!\n@ @\n\203+ \f\230\204+ \306\235\203% \f\307\235\203% \310\202+ \311\312\f#\210 \211+\207" [i tmp-type type type-name tmp-type-name org-babel-C-val-to-C-type ("int" "double" "int32_t") ("int" "double" "int32_t") ("double" "" "%f") error "Only homogeneous lists are supported by C. You can not mix %s and %s"] 4]] 3 (#$ . 6711)]) #@82 Convert an elisp val into a string of C code specifying a var of the same value. (defalias 'org-babel-C-var-to-C #[(pair) "@A 9\203 \306 !\211G\307U\203 \310 !\311 !\211@\312 \"\211@ A\313\314\f\n %.\207" [pair val var type-data type formated symbol-name 1 string-to-char org-babel-C-val-to-C-type org-babel-C-format-val format "%s %s%s = %s;" suffix data] 7 (#$ . 7204)]) (provide 'ob-C)