;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'cl-lib) (defconst elb-days-per-year 365.24) (defconst elb-solar-mass (byte-code "\301\211\302#\207" [float-pi * 4] 4)) #@58 compiler-macro for inlining `x'. (fn CL-WHOLE-ARG CL-X) (defalias 'x--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block x (aref cl-x 0)) nil] 9 (#$ . 538)]) (put 'x 'compiler-macro 'x--cmacro) #@140 Access slot "x" of `(elb-body (:type vector) (:conc-name nil) (:constructor make-elb-body (x y z vx vy vz mass)))' struct CL-X. (fn CL-X) (defalias 'x #[257 "\211\300H\207" [0] 3 (#$ . 775)]) (byte-code "\300\301\302\303#\300\207" [function-put x side-effect-free t] 4) #@58 compiler-macro for inlining `y'. (fn CL-WHOLE-ARG CL-X) (defalias 'y--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block y (aref cl-x 1)) nil] 9 (#$ . 1052)]) (put 'y 'compiler-macro 'y--cmacro) #@140 Access slot "y" of `(elb-body (:type vector) (:conc-name nil) (:constructor make-elb-body (x y z vx vy vz mass)))' struct CL-X. (fn CL-X) (defalias 'y #[257 "\211\300H\207" [1] 3 (#$ . 1290)]) (byte-code "\300\301\302\303#\300\207" [function-put y side-effect-free t] 4) #@58 compiler-macro for inlining `z'. (fn CL-WHOLE-ARG CL-X) (defalias 'z--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block z (aref cl-x 2)) nil] 9 (#$ . 1568)]) (put 'z 'compiler-macro 'z--cmacro) #@140 Access slot "z" of `(elb-body (:type vector) (:conc-name nil) (:constructor make-elb-body (x y z vx vy vz mass)))' struct CL-X. (fn CL-X) (defalias 'z #[257 "\211\300H\207" [2] 3 (#$ . 1806)]) (byte-code "\300\301\302\303#\300\207" [function-put z side-effect-free t] 4) #@59 compiler-macro for inlining `vx'. (fn CL-WHOLE-ARG CL-X) (defalias 'vx--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vx (aref cl-x 3)) nil] 9 (#$ . 2084)]) (put 'vx 'compiler-macro 'vx--cmacro) #@141 Access slot "vx" of `(elb-body (:type vector) (:conc-name nil) (:constructor make-elb-body (x y z vx vy vz mass)))' struct CL-X. (fn CL-X) (defalias 'vx #[257 "\211\300H\207" [3] 3 (#$ . 2327)]) (byte-code "\300\301\302\303#\300\207" [function-put vx side-effect-free t] 4) #@59 compiler-macro for inlining `vy'. (fn CL-WHOLE-ARG CL-X) (defalias 'vy--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vy (aref cl-x 4)) nil] 9 (#$ . 2608)]) (put 'vy 'compiler-macro 'vy--cmacro) #@141 Access slot "vy" of `(elb-body (:type vector) (:conc-name nil) (:constructor make-elb-body (x y z vx vy vz mass)))' struct CL-X. (fn CL-X) (defalias 'vy #[257 "\211\300H\207" [4] 3 (#$ . 2851)]) (byte-code "\300\301\302\303#\300\207" [function-put vy side-effect-free t] 4) #@59 compiler-macro for inlining `vz'. (fn CL-WHOLE-ARG CL-X) (defalias 'vz--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vz (aref cl-x 5)) nil] 9 (#$ . 3132)]) (put 'vz 'compiler-macro 'vz--cmacro) #@141 Access slot "vz" of `(elb-body (:type vector) (:conc-name nil) (:constructor make-elb-body (x y z vx vy vz mass)))' struct CL-X. (fn CL-X) (defalias 'vz #[257 "\211\300H\207" [5] 3 (#$ . 3375)]) (byte-code "\300\301\302\303#\300\207" [function-put vz side-effect-free t] 4) #@61 compiler-macro for inlining `mass'. (fn CL-WHOLE-ARG CL-X) (defalias 'mass--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block mass (aref cl-x 6)) nil] 9 (#$ . 3656)]) (put 'mass 'compiler-macro 'mass--cmacro) #@143 Access slot "mass" of `(elb-body (:type vector) (:conc-name nil) (:constructor make-elb-body (x y z vx vy vz mass)))' struct CL-X. (fn CL-X) (defalias 'mass #[257 "\211\300H\207" [6] 3 (#$ . 3909)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put mass side-effect-free t defalias copy-elb-body copy-sequence] 4) #@85 compiler-macro for inlining `make-elb-body'. (fn CL-WHOLE-ARG X Y Z VX VY VZ MASS) (defalias 'make-elb-body--cmacro #[2056 "\300\301\302\303\211\211\f\f\f\f\f\f\f&\f\207" [cl--defsubst-expand (x y z vx vy vz mass) (cl-block make-elb-body (vector x y z vx vy vz mass)) nil] 21 (#$ . 4243)]) (put 'make-elb-body 'compiler-macro 'make-elb-body--cmacro) #@71 Constructor for objects of type `elb-body'. (fn X Y Z VX VY VZ MASS) (defalias 'make-elb-body #[1799 "\300&\207" [vector] 15 (#$ . 4607)]) (byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306& \207" [function-put make-elb-body side-effect-free t cl-struct-define elb-body nil vector ((x) (y) (z) (vx) (vy) (vz) (mass)) cl-struct-elb-body-tags] 11) (defvar elb-jupiter (byte-code "\302\303\304\305\306_\307_\310_\311 _&\207" [elb-days-per-year elb-solar-mass vector 4.841431442464721 -1.1603200440274284 -0.10362204447112311 0.001660076642744037 0.007699011184197404 -6.90460016972063e-05 0.0009547919384243266] 9)) (defvar elb-saturn (byte-code "\302\303\304\305\306_\307_\310_\311 _&\207" [elb-days-per-year elb-solar-mass vector 8.34336671824458 4.124798564124305 -0.4035234171143214 -0.002767425107268624 0.004998528012349172 2.3041729757376393e-05 0.0002858859806661308] 9)) (defvar elb-uranus (byte-code "\302\303\304\305\306_\307_\310_\311 _&\207" [elb-days-per-year elb-solar-mass vector 12.894369562139131 -15.111151401698631 -0.22330757889265573 0.002964601375647616 0.0023784717395948095 -2.9658956854023756e-05 4.366244043351563e-05] 9)) (defvar elb-neptune (byte-code "\302\303\304\305\306_\307_\310_\311 _&\207" [elb-days-per-year elb-solar-mass vector 15.379697114850917 -25.919314609987964 0.17925877295037118 0.0026806777249038932 0.001628241700382423 -9.515922545197159e-05 5.1513890204661145e-05] 9)) (defvar elb-sun (vector 0.0 0.0 0.0 0.0 0.0 0.0 elb-solar-mass)) #@15 (fn A B DT) (defalias 'elb-applyforces #[771 "\300H\300HZ\301H\301HZ\302H\302HZ\303\304\211_\211_\211_#!\305\211\211#\245___\n\211\306\306H\307H_ZI\266\n\211\310\310H\307H_ZI\266\n\211\311\311H\307H_ZI\266 \211\306\306H\307H_\\I\266 \211\310\310H\307H_\\I\266 \211\311\311H\307H_\\I\266\n\312\207" [0 1 2 sqrt + * 3 6 4 5 nil] 18 (#$ . 6146)]) #@18 (fn SYSTEM DT) (defalias 'elb-advance #[514 "\300\211:\2030\262\211A\262\242\262\211\203(\211@\301#\210A\266\202\202\210A\262\202\266\211\203p\211@\211\211\302\302H\303H_\\I\266\211\211\304\304H\305H_\\I\266\211\211\306\306H\307H_\\I\266A\266\202\2023\210\300\207" [nil elb-applyforces 0 3 1 4 2 5] 11 (#$ . 6552)]) #@15 (fn SYSTEM) (defalias 'elb-energy #[257 "\300\301\211:\203\204\262\211A\262\242\262\302\303\304H\305\306H\306H_\307H\307H_\310H\310H_##\\\262\211\203|\211@\311H\311HZ\312H\312HZ\313H\313HZ\314\305\211_\211_\211_#! \304H\304H_\245Z\262\n\266A\266\202\202;\210A\262\202\266\211\207" [0.0 nil * 0.5 6 + 3 4 5 0 1 2 sqrt] 16 (#$ . 6917)]) #@15 (fn SYSTEM) (defalias 'elb-offset-momentum #[257 "\301\302\303\211\2032\211@\304H\305H_\\\262\306H\305H_\\\262\307H\305H_\\\262A\266\202\202\210@\211\304[\245I\266@\211\306[\245I\266@\211\307[\245I\266\310\207" [elb-solar-mass 0.0 0.0 0.0 3 6 4 5 nil] 10 (#$ . 7307)]) #@10 (fn N) (defalias 'elb-nbody #[257 " \n \f\257\305!\210\306\211W\203!\211\307\310\"\266\211T\262\202 \266\311!\207" [elb-sun elb-jupiter elb-saturn elb-uranus elb-neptune elb-offset-momentum 0 elb-advance 0.01 elb-energy] 8 (#$ . 7613)]) (defalias 'elb-nbody-entry #[0 "\300\301!\207" [elb-nbody 300000] 2]) (provide 'benchmarks/nbody)