Sorensen–Dice coefficient: Difference between revisions
→{{header|Phix}}: As per the comments for J, stop trying to use sets.
m (C++ - formatting) |
(→{{header|Phix}}: As per the comments for J, stop trying to use sets.) |
||
Line 205:
<!--<syntaxhighlight lang="phix">(phixonline)-->
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
<span style="color: #008080;">constant</span> <span style="color: #000000;">match_raku</span> <span style="color: #0000FF;">=</span> <span style="color: #004600;">false</span>▼
<span style="color: #008080;">include</span> <span style="color: #000000;">sets</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>▼
<span style="color: #008080;">function</span> <span style="color: #000000;">bigram</span><span style="color: #0000FF;">(</span><span style="color: #004080;">string</span> <span style="color: #000000;">s</span><span style="color: #0000FF;">)</span>
<span style="color: #004080;">sequence</span> <span style="color: #000000;">words</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">split</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">lower</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s</span><span style="color: #0000FF;">)),</span>
Line 213 ⟶ 210:
<span style="color: #008080;">for</span> <span style="color: #000000;">word</span> <span style="color: #008080;">in</span> <span style="color: #000000;">words</span> <span style="color: #008080;">do</span>
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">word</span><span style="color: #0000FF;">)-</span><span style="color: #000000;">1</span> <span style="color: #008080;">do</span>
<span style="color: #
<span style="color: #000000;">res</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">add_member</span><span style="color: #0000FF;">(</span><span style="color: #000000;">res</span><span style="color: #0000FF;">,</span><span style="color: #000000;">word</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">..</span><span style="color: #000000;">i</span><span style="color: #0000FF;">+</span><span style="color: #000000;">1</span><span style="color: #0000FF;">])</span>▼
<span style="color: #008080;">else</span>▼
<span style="color: #004080;">string</span> <span style="color: #000000;">c2</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">word</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">..</span><span style="color: #000000;">i</span><span style="color: #0000FF;">+</span><span style="color: #000000;">1</span><span style="color: #0000FF;">]</span>▼
<span style="color: #008080;">while</span> <span style="color: #000000;">is_member</span><span style="color: #0000FF;">(</span><span style="color: #000000;">res</span><span style="color: #0000FF;">,</span><span style="color: #000000;">c2</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span>▼
<span style="color: #000000;">c2</span> <span style="color: #0000FF;">&=</span> <span style="color: #008000;">'1'</span>▼
<span style="color: #008080;">end</span> <span style="color: #008080;">while</span>▼
<span style="color: #000000;">res</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">add_member</span><span style="color: #0000FF;">(</span><span style="color: #000000;">res</span><span style="color: #0000FF;">,</span><span style="color: #000000;">c2</span><span style="color: #0000FF;">)</span>▼
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
▲
▲
<span style="color: #000000;">l2</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s2</span><span style="color: #0000FF;">),</span>
▲
▲
▲
▲
<span style="color: #000000;">
<span style="color: #000000;">i1</span> <span style="color: #0000FF;">+=</span> <span style="color: #0000FF;">(</span><span style="color: #000000;">c</span><span style="color: #0000FF;"><=</span><span style="color: #000000;">0</span><span style="color: #0000FF;">)</span>
<span style="color: #000000;">i2</span> <span style="color: #0000FF;">+=</span> <span style="color: #0000FF;">(</span><span style="color: #000000;">c</span><span style="color: #0000FF;">>=</span><span style="color: #000000;">0</span><span style="color: #0000FF;">)</span>
<span style="color: #008080;">return</span> <span style="color: #000000;">res</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
Line 230 ⟶ 234:
<span style="color: #004080;">sequence</span> <span style="color: #000000;">scores</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{},</span>
<span style="color: #000000;">s1</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">bigram</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s</span><span style="color: #0000FF;">)</span>
▲ <span style="color: #004080;">integer</span> <span style="color: #000000;">l1</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s1</span><span style="color: #0000FF;">)</span>
<span style="color: #008080;">for</span> <span style="color: #000000;">phrase</span> <span style="color: #008080;">in</span> <span style="color: #000000;">dictionary</span> <span style="color: #008080;">do</span>
<span style="color: #004080;">sequence</span> <span style="color: #000000;">s2</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">bigram</span><span style="color: #0000FF;">(</span><span style="color: #000000;">phrase</span><span style="color: #0000FF;">)</span>
<span style="color: #
▲ <span style="color: #000000;">s2</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">intersection</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s2</span><span style="color: #0000FF;">,</span><span style="color: #000000;">s1</span><span style="color: #0000FF;">)</span>
▲ <span style="color: #000000;">scores</span> <span style="color: #0000FF;">&=</span> <span style="color: #000000;">2</span><span style="color: #0000FF;">*</span><span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s2</span><span style="color: #0000FF;">)/(</span><span style="color: #000000;">l1</span><span style="color: #0000FF;">+</span><span style="color: #000000;">l2</span><span style="color: #0000FF;">)</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%s >\n"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">s</span><span style="color: #0000FF;">)</span>
Line 242 ⟶ 243:
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%f %s\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">scores</span><span style="color: #0000FF;">[</span><span style="color: #000000;">t</span><span style="color: #0000FF;">],</span><span style="color: #000000;">dictionary</span><span style="color: #0000FF;">[</span><span style="color: #000000;">t</span><span style="color: #0000FF;">]})</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
▲
<span style="color: #008080;">end</span> <span style="color: #008080;">procedure</span>
Line 253 ⟶ 255:
Almkvist-Giullera formula for pi
Almost prime
Check Machin-like formulas
Chowla numbers
Line 276 ⟶ 277:
<!--</syntaxhighlight>-->
{{out}}
Extending the task list to the full 1577 entries changes nothing.
<pre>
Primordial primes >
0.
0.
0.
0.
▲0.583333 Primorial numbers
Sunkist-Giuliani formula >
0.
0.
0.
▲0.342857 Faulhaber's formula
0.
Sieve of Euripides >
0.461538 Sieve of Pritchard
Line 296 ⟶ 299:
0.400000 Piprimes
0.384615 Sierpinski curve
Chowder numbers >
0.
0.
0.
0.
0.
</pre>
|