TL;DR: - prefer WPCARRO env-var to BRIEFCASE - remove repository URLs from Emacs libraries - prefer tvl-depot-path where possible - reduce the scope of constants.el - prune (some not all) stale CI configuration Change-Id: I21e9130402502ec6fa2fc4b46753c890069be62d Reviewed-on: https://cl.tvl.fyi/c/depot/+/4545 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
;;; math.el --- Math stuffs -*- lexical-binding: t -*-
 | 
						|
 | 
						|
;; Author: William Carroll <wpcarro@gmail.com>
 | 
						|
;; Version: 0.0.1
 | 
						|
;; Package-Requires: ((emacs "24.3"))
 | 
						|
 | 
						|
;;; Commentary:
 | 
						|
;; Containing some useful mathematical functions.
 | 
						|
 | 
						|
;;; Code:
 | 
						|
 | 
						|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
						|
;; Dependencies
 | 
						|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
						|
 | 
						|
(require 'maybe)
 | 
						|
(require 'cl-lib)
 | 
						|
 | 
						|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
						|
;; Constants
 | 
						|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
						|
 | 
						|
(defconst math-pi pi
 | 
						|
  "The number pi.")
 | 
						|
 | 
						|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
						|
;; Functions
 | 
						|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
						|
 | 
						|
;; TODO: Support all three arguments.
 | 
						|
;; Int -> Int -> Int -> Boolean
 | 
						|
(cl-defun math-triangle-of-power (&key base power result)
 | 
						|
  (cond
 | 
						|
   ((maybe-somes? base power result)
 | 
						|
    (error "All three arguments should not be set"))
 | 
						|
   ((maybe-somes? power result)
 | 
						|
    (message "power and result"))
 | 
						|
   ((maybe-somes? base result)
 | 
						|
    (log result base))
 | 
						|
   ((maybe-somes? base power)
 | 
						|
    (expt base power))
 | 
						|
   (t
 | 
						|
    (error "Two of the three arguments must be set"))))
 | 
						|
 | 
						|
(defun math-mod (x y)
 | 
						|
  "Return X mod Y."
 | 
						|
  (mod x y))
 | 
						|
 | 
						|
(defun math-exp (x y)
 | 
						|
  "Return X raised to the Y."
 | 
						|
  (expt x y))
 | 
						|
 | 
						|
(defun math-round (x)
 | 
						|
  "Round X to nearest ones digit."
 | 
						|
  (round x))
 | 
						|
 | 
						|
(defun math-floor (x)
 | 
						|
  "Floor value X."
 | 
						|
  (floor x))
 | 
						|
 | 
						|
(provide 'math)
 | 
						|
;;; math.el ends here
 |