Skip to content

Commit

Permalink
Optimized primality testing for batch mode
Browse files Browse the repository at this point in the history
  • Loading branch information
alpertron committed Mar 22, 2024
1 parent 6dabe0c commit e173736
Show file tree
Hide file tree
Showing 36 changed files with 549 additions and 509 deletions.
2 changes: 1 addition & 1 deletion CONTFRAC.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ To enter numbers in hexadecimal format, you will need to precede them by the str
<h2>Source code</h2>
<p>You can download the source of the current program and the old continued fraction applet from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
</div>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion CUAD.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ input:disabled {color: #808080; background-color: #606060}
<h2>Código fuente</h2>
<p>Puedes bajar el código fuente de esta aplicación y del viejo applet de ecuaciones cuadráticas enteras desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
<div id="result" aria-live="polite"></div>
<div id="footer">
Expand Down
2 changes: 1 addition & 1 deletion CUADMOD.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ input:disabled {color: #808080; background-color: #606060}
<h2>Código fuente</h2>
<p>Puedes bajar el código fuente de esta aplicación y del viejo applet de ecuaciones cuadráticas modulares desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
<div id="result" aria-live="polite"></div>
<div id="footer">
Expand Down
5 changes: 1 addition & 4 deletions ConsoleApplication1.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@
<Optimization>Disabled</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;FACTORIZATION_APP=1;ENABLE_VERBOSE;FACTORIZATION_FUNCTIONS=1;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_USING64BITS_;USING_BLOCKLY=1;ENABLE_VERBOSE;POLYEXPR=1</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;FACTORIZATION_APP=1;ENABLE_VERBOSE;FACTORIZATION_FUNCTIONS=1;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_USING64BITS_;USING_BLOCKLY=1;ENABLE_VERBOSE;POLYEXPR=1;__EMSCRIPTEN__</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalOptions>/F 3000000 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
Expand All @@ -166,8 +166,6 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="gausspr.c" />
<ClCompile Include="graphics.c" />
<ClCompile Include="isprime.c" />
<ClCompile Include="output.c" />
<ClCompile Include="quartics.c" />
Expand Down Expand Up @@ -222,7 +220,6 @@
<ClCompile Include="test.c" />
<ClCompile Include="showtime.c" />
<ClCompile Include="tsquares.c" />
<ClCompile Include="ulam.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="batch.h" />
Expand Down
9 changes: 0 additions & 9 deletions ConsoleApplication1.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -168,15 +168,6 @@
<ClCompile Include="isprime.c">
<Filter>Archivos de código fuente</Filter>
</ClCompile>
<ClCompile Include="gausspr.c">
<Filter>Archivos de código fuente</Filter>
</ClCompile>
<ClCompile Include="ulam.c">
<Filter>Archivos de código fuente</Filter>
</ClCompile>
<ClCompile Include="graphics.c">
<Filter>Archivos de código fuente</Filter>
</ClCompile>
<ClCompile Include="output.c">
<Filter>Archivos de código fuente</Filter>
</ClCompile>
Expand Down
2 changes: 1 addition & 1 deletion ConsoleApplication1.vcxproj.user
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerCommandArguments>40386086203521847842442038116961395908045388225743593887534051882867088867451422279926227658353369309602134937818767935489955578234805439581534625494985324713549730074875381338741302421655631135507379857269344735228428553001352597596691638801743636629329355013511352942721273050339170429834278987040381747960884411851433916486144170476008852597093750739127802680309124526032940172579802008470093339990359384991503503614458710698904103258512429909701566697333753540519871100983916899540657050034590964623607736274756781417764221105569531562147057912826327014822324375878810085123801163054580870423717464500275259286644790292287618742984022979008217487409481420224445378839089353872030913057691176817044086502550278535272750787424451118761716552849620868806555149154293300951201837849814408323169458959040706805689440625767829357238882085766112685307073105174963070427573702738362159098805163558648031695168433171835632969724871377060199849541218845177450315677176119955499412825504179204908105894697957170244421770769366517833025139901383316838896066622320648993411213811241118825043233830644947321875736006536117418021434702300430337</LocalDebuggerCommandArguments>
<LocalDebuggerCommandArguments>"x=2**31;x=n(x);x%3c2**31+2**20;x;isprime(2+x) and isprime(6+x) and isprime(8+x)"</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommand>$(TargetPath)</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>$(ProjectDir)\x64\release</LocalDebuggerWorkingDirectory>
Expand Down
2 changes: 1 addition & 1 deletion ECM.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -990,7 +990,7 @@ The line to type is: <code>x=1;x=x+1;x&lt;10000;x;sumdigits(x, 10)==sumdigits(co
<p>You can download the source of the current program and the old factorization applet from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
</div>
</div>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion ECMC.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -980,7 +980,7 @@ La línea a escribir es: <code>x=1;x=x+1;x&lt;10000;x;sumdigits(x, 10)==sumdigit
<p>Puedes bajar el código fuente de esta aplicación y del viejo applet de factorización desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
</div>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion EULAM.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ Cualquier número en la línea diagonal menor que 41<sup>2</sup> = 1681 debe ser
Las diagonales cuyos números no se pueden dividir por primos pequeños tienen mayor cantidad de números primos, porque la mayoría de los números compuestos son divisibles por primos pequeños.</p>
<h2>Código fuente</h2>
<p>Puede bajar el código fuente de esta aplicación y del viejo applet de visualización de la espiral de Ulam desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
</article></main>
<div id="cannotShow"><p>No se puede mostrar la espiral cuando el valor del centro es menor que el valor inicial.</p></div>
Expand Down
2 changes: 1 addition & 1 deletion FACTPOL.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -618,7 +618,7 @@ En caso contrario, solo se muestran funciones trigonométricas.</p>
<p>Puede bajar el código fuente del programa actual y del viejo applet de factorización de polinomios <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
</div>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
<div id="result" aria-live="polite" class="pad"></div>
<div id="footer">
Expand Down
2 changes: 1 addition & 1 deletion FCUBES.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ The line to type is: <code>x=3;x=n(x);c&lt;=100;x-1</code>.</p>
<h2>Source code</h2>
<p>You can download the source of the current program and the old sum of four cubes applet from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
</div>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion FRACCONT.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ Para ingresar números en el formato hexadecimal es necesario que tengan los car
<h2>Código fuente</h2>
<p>Se puede bajar el código fuente de este programa y el del viejo applet de fracciones continuas desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion FSQUARES.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ The line to type is: <code>x=3;x=n(x);c&lt;=100;x-1</code>.</p>
<h2>Source code</h2>
<p>You can download the source of the current program and the old sum of four squares applet from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
</div>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion GAUSIANO.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ Para ingresar números en el formato hexadecimal es necesario que tengan los car
<h2>Código fuente</h2>
<p>Puedes bajar el código fuente del programa actual y del viejo applet de factorización de enteros gaussianos desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion GAUSSIAN.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ To enter numbers in hexadecimal format, you will need to precede them by the str
<h2>Source code</h2>
<p>You can download the source of the current program and the old sum polynomial factorization applet from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
</div>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion GAUSSPR.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ For example: 79 + 43<var>i</var> = (1+<var>i</var>) (2-<var>i</var>) (28+5<var>i
<p>You can also see the position <var>a</var> + <var>b</var><var>i</var> in the complex plane of any point of the graph by moving the cursor to that point.</p>
<p>Move the center by typing a new complex number in both input boxes (up to 9 digits each) and press the return key.</p>
<p>There is an unsolved mathematical problem named <em>Gaussian moat</em> regarding the graphical representation of Gaussian primes. It asks whether there is a path from zero to infinity with steps of bounded size. Nobuyuki Tsuchimura shown in 2004 that it is not possible to reach the distance 80015782 from the origin if the steps have length 6 or smaller.</p>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
<h2>Source code</h2>
<p>You can download the source of the current program and the old Ulam spiral visualization applet from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the
<a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
Expand Down
2 changes: 1 addition & 1 deletion POLFACT.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -617,7 +617,7 @@ Otherwise, only trigonometric functions are shown.</p>
<p>You can download the source of the current program and the old sum polynomial factorization applet from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
</div>
</div>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
</div>
<div id="result" aria-live="polite" class="pad"></div>
<div id="footer">
Expand Down
2 changes: 1 addition & 1 deletion PRGAUSS.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ Por ejemplo: 79 + 43<var>i</var> = (1+<var>i</var>) (2-<var>i</var>) (28+5<var>i
<p>También puede ver la posición <var>a</var> + <var>b</var><var>i</var> en el plano complejo de cualquier punto en el gráfico moviendo el cursor hasta ese punto.</p>
<p>Cambie el centro escribiendo un nuevo número complejo en ambas cajas de entrada (hasta 9 dígitos cada uno) y presione la tecla Enter.</p>
<p>Existe un problema matemático sin resolver llamado <em>foso gaussiano</em> referido a esta representación gráfica de los primos gaussianos. Suponiendo que los números compuestos son agua y los primos, piedras que sobresalen, se pretende saber si es posible unir el origen 0+0i con el infinito por cualquier camino si la longitud del salto entre las piedras está limitada. Nobuyuki Tsuchimura demostró en el año 2004 que no es posible alcanzar la distancia 80015782 desde el origen si los pasos tienen longitud 6 o menor.</p>
<p>Escrito por Dario Alpern. Modificado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Modificado el 22 de marzo de 2024.</p>
<h2>Código fuente</h2>
<p>Puede bajar el código fuente de esta aplicación y del viejo applet de visualización de primos gaussianos desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
Expand Down
2 changes: 1 addition & 1 deletion QUAD.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ input:disabled {color: #808080; background-color: #606060}
<h2>Source code</h2>
<p>You can download the source of the current program and the old quadratic integer equation applet from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
</div>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
</div>
<div id="result" aria-live="polite"></div>
<div id="footer">
Expand Down
2 changes: 1 addition & 1 deletion QUADMOD.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ input:disabled {color: #808080; background-color: #606060}
<h2>Source code</h2>
<p>You can download the source of the current program and the old quadratic modular equation applet from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
</div>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
</div>
<div id="result" aria-live="polite"></div>
<div>
Expand Down
2 changes: 1 addition & 1 deletion SUMCUAD.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ La línea a escribir es: <code>x=3;x=n(x);c&lt;=100;x-1</code>.</p>
<h2>Código fuente</h2>
<p>Se puede bajar el código fuente de este programa y el del viejo applet de suma de cuatro cuadrados desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion SUMCUBOS.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ La línea a escribir es: <code>x=3;x=n(x);c&lt;=100;x-1</code>.</p>
<h2>Código fuente</h2>
<p>Se puede bajar el código fuente de este programa y el del viejo applet de suma de cuatro cubos desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion TCUADCUB.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ La línea a escribir es: <code>x=3;x=n(x);c&lt;=100;x-1</code>.</p>
<h2>Código fuente</h2>
<p>Se puede bajar el código fuente de este programa desde <a href="https://github.com/alpertron/calculators">GitHub</a>. El código fuente está escrito en lenguaje C, por lo que es necesario <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> para generar JavaScript.</p>
</div>
<p>Escrito por Dario Alpern. Actualizado el 21 de marzo de 2024.</p>
<p>Escrito por Dario Alpern. Actualizado el 22 de marzo de 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
2 changes: 1 addition & 1 deletion TSQCUBES.HTM
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ The line to type is: <code>x=3;x=n(x);c&lt;=100;x-1</code>.</p>
<h2>Source code</h2>
<p>You can download the source of the this program from <a href="https://github.com/alpertron/calculators">GitHub</a>. Notice that the source code is in C language and you need the <a href="https://emscripten.org/docs/getting_started/downloads.html">Emscripten</a> environment in order to generate JavaScript.</p>
</div>
<p>Written by Dario Alpern. Last updated 21 March 2024.</p>
<p>Written by Dario Alpern. Last updated 22 March 2024.</p>
</div>
<div id="helphelp"></div>
<div id="result" aria-live="polite"></div>
Expand Down
Loading

0 comments on commit e173736

Please sign in to comment.