Function: org-babel-fortran-var-to-fortran

org-babel-fortran-var-to-fortran is a byte-compiled function defined in ob-fortran.el.gz.

Signature

(org-babel-fortran-var-to-fortran PAIR)

Documentation

Convert PAIR of (VAR . VAL) into a string of fortran code.

The fortran code will assign VAL to VAR variable.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ob-fortran.el.gz
;; helper functions

(defun org-babel-fortran-var-to-fortran (pair)
  "Convert PAIR of (VAR . VAL) into a string of fortran code.
The fortran code will assign VAL to VAR variable."
  ;; TODO list support
  (let ((var (car pair))
        (val (cdr pair)))
    (when (symbolp val)
      (setq val (symbol-name val))
      (when (= (length val) 1)
        (setq val (string-to-char val))))
    (cond
     ((integerp val)
      (format "integer, parameter  ::  %S = %S\n" var val))
     ((floatp val)
      (format "real, parameter ::  %S = %S\n" var val))
     ((or (integerp val))
      (format "character, parameter :: %S = '%S'\n" var val))
     ((stringp val)
      (format "character(len=%d), parameter ::  %S = '%s'\n"
              (length val) var val))
     ;; val is a matrix
     ((and (listp val) (cl-every #'listp val))
      (format "real, parameter :: %S(%d,%d) = transpose( reshape( %s , (/ %d, %d /) ) )\n"
	      var (length val) (length (car val))
	      (org-babel-fortran-transform-list val)
	      (length (car val)) (length val)))
     ((listp val)
      (format "real, parameter :: %S(%d) = %s\n"
	      var (length val) (org-babel-fortran-transform-list val)))
     (t
      (error "The type of parameter %s is not supported by ob-fortran" var)))))