10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-07-31 17:44:12 +02:00

Changed streams to seq

This commit is contained in:
Anthony Scemama 2023-04-24 13:05:01 +02:00
parent 3c77e8267d
commit 919a8cbdd5
12 changed files with 385 additions and 422 deletions

View File

@ -314,47 +314,27 @@ let array_product a =
(* | ~stream_range~ | Creates a stream returning consecutive integers | (* | ~seq_range~ | Creates a sequence returning consecutive integers |
* | ~stream_to_list~ | Read a stream and put items in a list | * | ~seq_to_list~ | Read a sequence and put items in a list |
* | ~stream_fold~ | Apply a fold to the elements of the stream | *) * | ~seq_fold~ | Apply a fold to the elements of the sequence | *)
(* [[file:~/QCaml/common/util.org::*Stream functions][Stream functions:2]] *) (* [[file:~/QCaml/common/util.org::*Seq functions][Seq functions:2]] *)
let stream_range first last = let seq_range first last =
Stream.from (fun i -> Seq.init (last-first) (fun i -> i+first)
let result = i+first in
if result <= last then
Some result
else None
)
let stream_to_list stream = let seq_to_list seq =
let rec aux accu = let rec aux accu xs =
let new_accu = match Seq.uncons xs with
try | Some (x, xs) -> aux (x::accu) xs
Some (Stream.next stream :: accu) | None -> List.rev accu
with Stream.Failure -> None
in in
match new_accu with aux [] seq
| Some new_accu -> (aux [@tailcall]) new_accu
| None -> accu
in List.rev @@ aux []
let stream_fold f init stream = let seq_fold f init seq =
let rec aux accu = Seq.fold_left f init seq
let new_accu = (* Seq functions:2 ends here *)
try
let element = Stream.next stream in
Some (f accu element)
with Stream.Failure -> None
in
match new_accu with
| Some new_accu -> (aux [@tailcall]) new_accu
| None -> accu
in
aux init
(* Stream functions:2 ends here *)

View File

@ -75,14 +75,14 @@ val array_sum : float array -> float
val array_product : float array -> float val array_product : float array -> float
(* Array functions:1 ends here *) (* Array functions:1 ends here *)
(* Stream functions *) (* Seq functions *)
(* [[file:~/QCaml/common/util.org::*Stream functions][Stream functions:1]] *) (* [[file:~/QCaml/common/util.org::*Seq functions][Seq functions:1]] *)
val stream_range : int -> int -> int Stream.t val seq_range : int -> int -> int Seq.t
val stream_to_list : 'a Stream.t -> 'a list val seq_to_list : 'a Seq.t -> 'a list
val stream_fold : ('a -> 'b -> 'a) -> 'a -> 'b Stream.t -> 'a val seq_fold : ('a -> 'b -> 'a) -> 'a -> 'b Seq.t -> 'a
(* Stream functions:1 ends here *) (* Seq functions:1 ends here *)
(* Printers *) (* Printers *)

View File

@ -566,54 +566,33 @@ let test_array () =
() ()
#+end_src #+end_src
** Stream functions ** Seq functions
#+begin_src ocaml :tangle (eval mli) #+begin_src ocaml :tangle (eval mli)
val stream_range : int -> int -> int Stream.t val seq_range : int -> int -> int Seq.t
val stream_to_list : 'a Stream.t -> 'a list val seq_to_list : 'a Seq.t -> 'a list
val stream_fold : ('a -> 'b -> 'a) -> 'a -> 'b Stream.t -> 'a val seq_fold : ('a -> 'b -> 'a) -> 'a -> 'b Seq.t -> 'a
#+end_src #+end_src
| ~stream_range~ | Creates a stream returning consecutive integers | | ~seq_range~ | Creates a sequence returning consecutive integers |
| ~stream_to_list~ | Read a stream and put items in a list | | ~seq_to_list~ | Read a sequence and put items in a list |
| ~stream_fold~ | Apply a fold to the elements of the stream | | ~seq_fold~ | Apply a fold to the elements of the sequence |
#+begin_src ocaml :tangle (eval ml) :exports none #+begin_src ocaml :tangle (eval ml) :exports none
let stream_range first last = let seq_range first last =
Stream.from (fun i -> Seq.init (last-first) (fun i -> i+first)
let result = i+first in
if result <= last then
Some result
else None
)
let stream_to_list stream = let seq_to_list seq =
let rec aux accu = let rec aux accu xs =
let new_accu = match Seq.uncons xs with
try | Some (x, xs) -> aux (x::accu) xs
Some (Stream.next stream :: accu) | None -> List.rev accu
with Stream.Failure -> None
in in
match new_accu with aux [] seq
| Some new_accu -> (aux [@tailcall]) new_accu
| None -> accu
in List.rev @@ aux []
let stream_fold f init stream = let seq_fold f init seq =
let rec aux accu = Seq.fold_left f init seq
let new_accu =
try
let element = Stream.next stream in
Some (f accu element)
with Stream.Failure -> None
in
match new_accu with
| Some new_accu -> (aux [@tailcall]) new_accu
| None -> accu
in
aux init
#+end_src #+end_src
** Printers ** Printers

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2022-11-07 Mon 11:28 --> <!-- 2023-04-20 Thu 12:08 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Gaussian</title> <title>Gaussian</title>
@ -272,41 +272,41 @@ org_html_manager.setup(); // activate after the parameters are set
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org573b439">1. Summary</a></li> <li><a href="#org00fe9a7">1. Summary</a></li>
<li><a href="#org20f831d">2. Atomic shell</a> <li><a href="#org31b1458">2. Atomic shell</a>
<ul> <ul>
<li><a href="#org56e4f66">2.1. Type</a></li> <li><a href="#org15c8121">2.1. Type</a></li>
<li><a href="#org40ad070">2.2. Access</a></li> <li><a href="#org027f81e">2.2. Access</a></li>
<li><a href="#org62b2450">2.3. Creation</a></li> <li><a href="#org13bea39">2.3. Creation</a></li>
<li><a href="#org8b146e2">2.4. Printers</a></li> <li><a href="#org108fb3f">2.4. Printers</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orge593280">3. Atomic shell pair couple</a> <li><a href="#orgaf2dfc2">3. Atomic shell pair couple</a>
<ul> <ul>
<li><a href="#orgb99cd3b">3.1. Type</a></li> <li><a href="#org0916a22">3.1. Type</a></li>
<li><a href="#org6cba6ba">3.2. Access</a></li> <li><a href="#orgc512c60">3.2. Access</a></li>
<li><a href="#orgafdde1e">3.3. Creation</a></li> <li><a href="#org2d070ca">3.3. Creation</a></li>
<li><a href="#org6ac533e">3.4. Printers</a></li> <li><a href="#org2ee4957">3.4. Printers</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org230e186">4. Atomic shell pair</a> <li><a href="#org9e877d7">4. Atomic shell pair</a>
<ul> <ul>
<li><a href="#orgb93d9e9">4.1. Type</a></li> <li><a href="#org5c399ad">4.1. Type</a></li>
<li><a href="#org74b9b4a">4.2. Access</a></li> <li><a href="#orgaa52bf1">4.2. Access</a></li>
<li><a href="#org0b5ef37">4.3. Creation</a></li> <li><a href="#orgbc5c6ac">4.3. Creation</a></li>
<li><a href="#orgfa1afa2">4.4. Printers</a></li> <li><a href="#orgbbed8e3">4.4. Printers</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org573b439" class="outline-2"> <div id="outline-container-org00fe9a7" class="outline-2">
<h2 id="org573b439"><span class="section-number-2">1</span> Summary</h2> <h2 id="org00fe9a7"><span class="section-number-2">1</span> Summary</h2>
</div> </div>
<div id="outline-container-org20f831d" class="outline-2"> <div id="outline-container-org31b1458" class="outline-2">
<h2 id="org20f831d"><span class="section-number-2">2</span> Atomic shell</h2> <h2 id="org31b1458"><span class="section-number-2">2</span> Atomic shell</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p> <p>
Set of contracted Gaussians differing only by the powers of \(x\), \(y\) and \(z\), with a Set of contracted Gaussians differing only by the powers of \(x\), \(y\) and \(z\), with a
@ -339,8 +339,8 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div> </div>
<div id="outline-container-org56e4f66" class="outline-3"> <div id="outline-container-org15c8121" class="outline-3">
<h3 id="org56e4f66"><span class="section-number-3">2.1</span> Type</h3> <h3 id="org15c8121"><span class="section-number-3">2.1</span> Type</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span> <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
@ -351,8 +351,8 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div> </div>
</div> </div>
<div id="outline-container-org40ad070" class="outline-3"> <div id="outline-container-org027f81e" class="outline-3">
<h3 id="org40ad070"><span class="section-number-3">2.2</span> Access</h3> <h3 id="org027f81e"><span class="section-number-3">2.2</span> Access</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">ang_mom</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Angular_momentum.</span>t <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">ang_mom</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Angular_momentum.</span>t
@ -429,14 +429,14 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</tbody> </tbody>
</table> </table>
<pre class="example" id="org88d8b42"> <pre class="example" id="orgbb6756e">
</pre> </pre>
</div> </div>
</div> </div>
<div id="outline-container-org62b2450" class="outline-3"> <div id="outline-container-org13bea39" class="outline-3">
<h3 id="org62b2450"><span class="section-number-3">2.3</span> Creation</h3> <h3 id="org13bea39"><span class="section-number-3">2.3</span> Creation</h3>
<div class="outline-text-3" id="text-2-3"> <div class="outline-text-3" id="text-2-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?index</span><span class="org-tuareg-font-lock-operator">:</span>int <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Contracted_shell.</span>t array <span class="org-tuareg-font-lock-operator">-&gt;</span> t <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?index</span><span class="org-tuareg-font-lock-operator">:</span>int <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Contracted_shell.</span>t array <span class="org-tuareg-font-lock-operator">-&gt;</span> t
@ -468,8 +468,8 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div> </div>
</div> </div>
<div id="outline-container-org8b146e2" class="outline-3"> <div id="outline-container-org108fb3f" class="outline-3">
<h3 id="org8b146e2"><span class="section-number-3">2.4</span> Printers</h3> <h3 id="org108fb3f"><span class="section-number-3">2.4</span> Printers</h3>
<div class="outline-text-3" id="text-2-4"> <div class="outline-text-3" id="text-2-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit
@ -479,8 +479,8 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div> </div>
</div> </div>
<div id="outline-container-orge593280" class="outline-2"> <div id="outline-container-orgaf2dfc2" class="outline-2">
<h2 id="orge593280"><span class="section-number-2">3</span> Atomic shell pair couple</h2> <h2 id="orgaf2dfc2"><span class="section-number-2">3</span> Atomic shell pair couple</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<p> <p>
An atomic shell pair couple is the cartesian product between two sets of functions, one An atomic shell pair couple is the cartesian product between two sets of functions, one
@ -496,8 +496,8 @@ acting on different electrons, since they will be coupled by a two-electron oper
</div> </div>
<div id="outline-container-orgb99cd3b" class="outline-3"> <div id="outline-container-org0916a22" class="outline-3">
<h3 id="orgb99cd3b"><span class="section-number-3">3.1</span> Type</h3> <h3 id="org0916a22"><span class="section-number-3">3.1</span> Type</h3>
<div class="outline-text-3" id="text-3-1"> <div class="outline-text-3" id="text-3-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span> <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
@ -508,8 +508,8 @@ acting on different electrons, since they will be coupled by a two-electron oper
</div> </div>
</div> </div>
<div id="outline-container-org6cba6ba" class="outline-3"> <div id="outline-container-orgc512c60" class="outline-3">
<h3 id="org6cba6ba"><span class="section-number-3">3.2</span> Access</h3> <h3 id="orgc512c60"><span class="section-number-3">3.2</span> Access</h3>
<div class="outline-text-3" id="text-3-2"> <div class="outline-text-3" id="text-3-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">ang_mom</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Angular_momentum.</span>t <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">ang_mom</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Angular_momentum.</span>t
@ -594,8 +594,8 @@ acting on different electrons, since they will be coupled by a two-electron oper
</div> </div>
</div> </div>
<div id="outline-container-orgafdde1e" class="outline-3"> <div id="outline-container-org2d070ca" class="outline-3">
<h3 id="orgafdde1e"><span class="section-number-3">3.3</span> Creation</h3> <h3 id="org2d070ca"><span class="section-number-3">3.3</span> Creation</h3>
<div class="outline-text-3" id="text-3-3"> <div class="outline-text-3" id="text-3-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?cutoff</span><span class="org-tuareg-font-lock-operator">:</span>float <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t option <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?cutoff</span><span class="org-tuareg-font-lock-operator">:</span>float <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t option
@ -621,14 +621,14 @@ Default cutoff is \(\epsilon\).
</tbody> </tbody>
</table> </table>
<pre class="example" id="org4638f8b"> <pre class="example" id="org3be7e29">
</pre> </pre>
</div> </div>
</div> </div>
<div id="outline-container-org6ac533e" class="outline-3"> <div id="outline-container-org2ee4957" class="outline-3">
<h3 id="org6ac533e"><span class="section-number-3">3.4</span> Printers</h3> <h3 id="org2ee4957"><span class="section-number-3">3.4</span> Printers</h3>
<div class="outline-text-3" id="text-3-4"> <div class="outline-text-3" id="text-3-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit
@ -638,8 +638,8 @@ Default cutoff is \(\epsilon\).
</div> </div>
</div> </div>
<div id="outline-container-org230e186" class="outline-2"> <div id="outline-container-org9e877d7" class="outline-2">
<h2 id="org230e186"><span class="section-number-2">4</span> Atomic shell pair</h2> <h2 id="org9e877d7"><span class="section-number-2">4</span> Atomic shell pair</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
<p> <p>
Data structure to represent pairs of atomic shells. The products of Data structure to represent pairs of atomic shells. The products of
@ -651,8 +651,8 @@ An atomic shell pair is an array of pairs of contracted shells.
</p> </p>
</div> </div>
<div id="outline-container-orgb93d9e9" class="outline-3"> <div id="outline-container-org5c399ad" class="outline-3">
<h3 id="orgb93d9e9"><span class="section-number-3">4.1</span> Type</h3> <h3 id="org5c399ad"><span class="section-number-3">4.1</span> Type</h3>
<div class="outline-text-3" id="text-4-1"> <div class="outline-text-3" id="text-4-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span> <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
@ -663,8 +663,8 @@ An atomic shell pair is an array of pairs of contracted shells.
</div> </div>
</div> </div>
<div id="outline-container-org74b9b4a" class="outline-3"> <div id="outline-container-orgaa52bf1" class="outline-3">
<h3 id="org74b9b4a"><span class="section-number-3">4.2</span> Access</h3> <h3 id="orgaa52bf1"><span class="section-number-3">4.2</span> Access</h3>
<div class="outline-text-3" id="text-4-2"> <div class="outline-text-3" id="text-4-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_a</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_a</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t
@ -731,8 +731,8 @@ An atomic shell pair is an array of pairs of contracted shells.
</div> </div>
</div> </div>
<div id="outline-container-org0b5ef37" class="outline-3"> <div id="outline-container-orgbc5c6ac" class="outline-3">
<h3 id="org0b5ef37"><span class="section-number-3">4.3</span> Creation</h3> <h3 id="orgbc5c6ac"><span class="section-number-3">4.3</span> Creation</h3>
<div class="outline-text-3" id="text-4-3"> <div class="outline-text-3" id="text-4-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?cutoff</span><span class="org-tuareg-font-lock-operator">:</span>float <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t option <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?cutoff</span><span class="org-tuareg-font-lock-operator">:</span>float <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t option
@ -765,8 +765,8 @@ If an atomic shell pair is not significant, sets the value to <code>None</code>.
</div> </div>
</div> </div>
<div id="outline-container-orgfa1afa2" class="outline-3"> <div id="outline-container-orgbbed8e3" class="outline-3">
<h3 id="orgfa1afa2"><span class="section-number-3">4.4</span> Printers</h3> <h3 id="orgbbed8e3"><span class="section-number-3">4.4</span> Printers</h3>
<div class="outline-text-3" id="text-4-4"> <div class="outline-text-3" id="text-4-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit <pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit
@ -778,7 +778,7 @@ If an atomic shell pair is not significant, sets the value to <code>None</code>.
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p> <p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2022-11-07 Mon 11:28</p> <p class="date">Created: 2023-04-20 Thu 12:08</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2023-04-20 Thu 10:54 --> <!-- 2023-04-24 Mon 12:58 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Top-level</title> <title>Top-level</title>
@ -250,18 +250,18 @@ org_html_manager.setup(); // activate after the parameters are set
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgd03da44">1. Summary</a></li> <li><a href="#org3f2d407">1. Summary</a></li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orgd03da44" class="outline-2"> <div id="outline-container-org3f2d407" class="outline-2">
<h2 id="orgd03da44"><span class="section-number-2">1</span> Summary</h2> <h2 id="org3f2d407"><span class="section-number-2">1</span> Summary</h2>
</div> </div>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p> <p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2023-04-20 Thu 10:54</p> <p class="date">Created: 2023-04-24 Mon 12:58</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -4,5 +4,8 @@
ex_hartree_fock ex_hartree_fock
ex_localization ex_localization
) )
(libraries qcaml)) (libraries
qcaml
unix
))

View File

@ -8,7 +8,7 @@ let () =
(* [[file:~/QCaml/examples/ex_hartree_fock.org::*Definition][Definition:1]] *) (* [[file:~/QCaml/examples/ex_hartree_fock.org::*Definition][Definition:1]] *)
let open Command_line in let open Command_line in
begin begin
set_header_doc (Sys.argv.(0) ^ " - QuAcK command"); set_header_doc (Sys.argv.(0));
set_description_doc "Computes the one- and two-electron hartree_fock on the Gaussian atomic basis set."; set_description_doc "Computes the one- and two-electron hartree_fock on the Gaussian atomic basis set.";
set_specs set_specs
[ { short='b' ; long="basis" ; opt=Mandatory; [ { short='b' ; long="basis" ; opt=Mandatory;

View File

@ -29,7 +29,7 @@ let () =
#+BEGIN_SRC ocaml :comments link :exports code :tangle ex_hartree_fock.ml #+BEGIN_SRC ocaml :comments link :exports code :tangle ex_hartree_fock.ml
let open Command_line in let open Command_line in
begin begin
set_header_doc (Sys.argv.(0) ^ " - QuAcK command"); set_header_doc (Sys.argv.(0));
set_description_doc "Computes the one- and two-electron hartree_fock on the Gaussian atomic basis set."; set_description_doc "Computes the one- and two-electron hartree_fock on the Gaussian atomic basis set.";
set_specs set_specs
[ { short='b' ; long="basis" ; opt=Mandatory; [ { short='b' ; long="basis" ; opt=Mandatory;

View File

@ -32,7 +32,7 @@ let () =
#+BEGIN_SRC ocaml :comments link :exports code :tangle ex_integrals.ml #+BEGIN_SRC ocaml :comments link :exports code :tangle ex_integrals.ml
let open Command_line in let open Command_line in
begin begin
set_header_doc (Sys.argv.(0) ^ " - QuAcK command"); set_header_doc (Sys.argv.(0));
set_description_doc "Computes the one- and two-electron integrals on the Gaussian atomic basis set."; set_description_doc "Computes the one- and two-electron integrals on the Gaussian atomic basis set.";
set_specs set_specs
[ { short='b' ; long="basis" ; opt=Mandatory; [ { short='b' ; long="basis" ; opt=Mandatory;

View File

@ -10,6 +10,7 @@
qcaml.linear_algebra qcaml.linear_algebra
qcaml.gaussian qcaml.gaussian
qcaml.operators qcaml.operators
unix
) )
(modules_without_implementation matrix_on_basis) (modules_without_implementation matrix_on_basis)