Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defn calculate []
- (let [form-value (comp value by-id)
- parse-double (comp js/parseFloat #(s/replace % #"[^\d]" ""))
- total-pop (parse-double (form-value "total_pop"))
- mil-pop (parse-double (form-value "mil_pop"))
- pes-pop (parse-double (form-value "pes_pop"))
- wiz-pop (parse-double (form-value "wiz_pop"))
- patriotism (form-value "patriotism")
- target-draft (form-value "target_draft")
- draft-rate (* (if patriotism 1.3 1.0)
- (draft-table (form-value "draft_rate")))
- sols-needed (- (* total-pop (/ target-draft 100)) mil-pop)
- desired-peasants (- pes-pop sols-needed)
- peasant-decay (- (dec draft-rate))
- hours (/ (Math/log (/ desired-peasants pes-pop)) (Math/log peasant-decay))
- ]
- (set-value! (by-id "hours") (Math/ceil hours))
- false))
- (defn ^:export init []
- (if (and js/document
- (.-getElementById js/document))
- (let [theForm (.getElementById js/document "draftForm")]
- (set! (.-onsubmit theForm) calculate))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement