Fix typo in display-html-help
[maxima.git] / share / lapack / blas / dasum.lisp
blobcddd79e8b91d3df046b388a8c03d5497cd6b51a0
1 ;;; Compiled by f2cl version:
2 ;;; ("f2cl1.l,v 2edcbd958861 2012/05/30 03:34:52 toy $"
3 ;;; "f2cl2.l,v 96616d88fb7e 2008/02/22 22:19:34 rtoy $"
4 ;;; "f2cl3.l,v 96616d88fb7e 2008/02/22 22:19:34 rtoy $"
5 ;;; "f2cl4.l,v 96616d88fb7e 2008/02/22 22:19:34 rtoy $"
6 ;;; "f2cl5.l,v 3fe93de3be82 2012/05/06 02:17:14 toy $"
7 ;;; "f2cl6.l,v 1d5cbacbb977 2008/08/24 00:56:27 rtoy $"
8 ;;; "macros.l,v 3fe93de3be82 2012/05/06 02:17:14 toy $")
10 ;;; Using Lisp CMU Common Lisp 20d (20D Unicode)
11 ;;;
12 ;;; Options: ((:prune-labels nil) (:auto-save t) (:relaxed-array-decls t)
13 ;;; (:coerce-assigns :as-needed) (:array-type ':array)
14 ;;; (:array-slicing t) (:declare-common nil)
15 ;;; (:float-format double-float))
17 (in-package :blas)
20 (defun dasum (n dx incx)
21 (declare (type (array double-float (*)) dx)
22 (type (f2cl-lib:integer4) incx n))
23 (f2cl-lib:with-multi-array-data
24 ((dx double-float dx-%data% dx-%offset%))
25 (prog ((i 0) (m 0) (mp1 0) (nincx 0) (dtemp 0.0) (dasum 0.0))
26 (declare (type (double-float) dasum dtemp)
27 (type (f2cl-lib:integer4) nincx mp1 m i))
28 (setf dasum 0.0)
29 (setf dtemp 0.0)
30 (if (or (<= n 0) (<= incx 0)) (go end_label))
31 (if (= incx 1) (go label20))
32 (setf nincx (f2cl-lib:int-mul n incx))
33 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i incx))
34 ((> i nincx) nil)
35 (tagbody
36 (setf dtemp
37 (+ dtemp
38 (f2cl-lib:dabs
39 (f2cl-lib:fref dx-%data% (i) ((1 *)) dx-%offset%))))
40 label10))
41 (setf dasum dtemp)
42 (go end_label)
43 label20
44 (setf m (mod n 6))
45 (if (= m 0) (go label40))
46 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
47 ((> i m) nil)
48 (tagbody
49 (setf dtemp
50 (+ dtemp
51 (f2cl-lib:dabs
52 (f2cl-lib:fref dx-%data% (i) ((1 *)) dx-%offset%))))
53 label30))
54 (if (< n 6) (go label60))
55 label40
56 (setf mp1 (f2cl-lib:int-add m 1))
57 (f2cl-lib:fdo (i mp1 (f2cl-lib:int-add i 6))
58 ((> i n) nil)
59 (tagbody
60 (setf dtemp
61 (+ dtemp
62 (f2cl-lib:dabs
63 (f2cl-lib:fref dx-%data% (i) ((1 *)) dx-%offset%))
64 (f2cl-lib:dabs
65 (f2cl-lib:fref dx-%data%
66 ((f2cl-lib:int-add i 1))
67 ((1 *))
68 dx-%offset%))
69 (f2cl-lib:dabs
70 (f2cl-lib:fref dx-%data%
71 ((f2cl-lib:int-add i 2))
72 ((1 *))
73 dx-%offset%))
74 (f2cl-lib:dabs
75 (f2cl-lib:fref dx-%data%
76 ((f2cl-lib:int-add i 3))
77 ((1 *))
78 dx-%offset%))
79 (f2cl-lib:dabs
80 (f2cl-lib:fref dx-%data%
81 ((f2cl-lib:int-add i 4))
82 ((1 *))
83 dx-%offset%))
84 (f2cl-lib:dabs
85 (f2cl-lib:fref dx-%data%
86 ((f2cl-lib:int-add i 5))
87 ((1 *))
88 dx-%offset%))))
89 label50))
90 label60
91 (setf dasum dtemp)
92 (go end_label)
93 end_label
94 (return (values dasum nil nil nil)))))
96 (in-package #:cl-user)
97 #+#.(cl:if (cl:find-package '#:f2cl) '(and) '(or))
98 (eval-when (:load-toplevel :compile-toplevel :execute)
99 (setf (gethash 'fortran-to-lisp::dasum fortran-to-lisp::*f2cl-function-info*)
100 (fortran-to-lisp::make-f2cl-finfo
101 :arg-types '((fortran-to-lisp::integer4) (array double-float (*))
102 (fortran-to-lisp::integer4))
103 :return-values '(nil nil nil)
104 :calls 'nil)))