Nicolás A. Ortega
f8726497a4
Don't test for divisibility by 2.
...
We skip all even numbers, so we can skip 2, this also means giving 3 as
a given.
2016-12-30 17:57:28 +01:00
Nicolás A. Ortega
3e902efd18
Small cleanup.
2016-12-30 17:51:48 +01:00
Nicolás A. Ortega
3246870b75
Better help information.
2016-12-28 14:43:17 +01:00
Nicolás A. Ortega
09166efe89
Small improvements and optimizations.
...
All error catching is now in `main.c' so we can neatly release memory as
well as adding the `restrict' optimizer to the `addToList()' function.
2016-12-28 00:30:31 +01:00
Nicolás A. Ortega
1264edc8c8
We're going to release v0.7 first.
2016-12-27 22:52:06 +01:00
Nicolás A. Ortega
63aa8e14cb
Fixed the damn exporting for once.
...
Now I'm checking to see if it was actually worth a damn to have raw
files in the first place (-_-;).
2016-12-27 22:34:34 +01:00
Nicolás A. Ortega
f2eb3e869e
Fixed the file issue...
...
but the export issue still remains -_- I hate seg faults.
2016-12-27 21:47:16 +01:00
Nicolás A. Ortega
a695cce709
Moving shit to files.c
2016-12-27 21:31:24 +01:00
Nicolás A. Ortega
096cb2eb16
Moving file I/O to own file. Everything works except export.
2016-12-26 18:50:51 +01:00
Nicolás A. Ortega
1783b16024
Use raw I/O for file saving.
2016-12-26 16:51:51 +01:00
Nicolás A. Ortega
6c2f96416b
Read and write primes to and from file.
2016-12-26 15:56:56 +01:00
Nicolás A. Ortega
fa3f2dd2b1
New goal before paralellization
2016-12-22 16:31:24 +01:00
Nicolás A. Ortega
591ee92971
Cast is unnecessary in C.
2016-12-15 15:16:04 +01:00
Nicolás A. Ortega
803c6f9e06
`size_t' makes this safeguard unnecessary.
2016-12-14 23:42:20 +01:00
Nicolás A. Ortega
4390fca3ef
Added comments.
2016-12-14 23:38:22 +01:00
Nicolás A. Ortega
2629c12f1a
Set goal for v1.0
2016-12-14 22:26:43 +01:00
Nicolás A. Ortega
af79d206d3
Added entry for v0.6
2016-12-14 20:12:46 +01:00
Nicolás A. Ortega
4b034ce5e3
Print more info about the file writing.
2016-12-14 19:34:50 +01:00
Nicolás A. Ortega
f146dbf11c
Able to save found primes to a file afterwards.
2016-12-14 19:28:28 +01:00
Nicolás A. Ortega
656fee720e
Allow user to choose base.
2016-12-14 19:06:33 +01:00
Nicolás A. Ortega
c522196d66
Argument parsing!
2016-12-14 17:52:52 +01:00
Nicolás A. Ortega
b5dcadce19
Added new goal for v0.5
2016-12-14 17:31:36 +01:00
Nicolás A. Ortega
003b94dcdb
Added some more useful docs and stuff.
2016-12-14 16:14:58 +01:00
Nicolás A. Ortega
9f1160242a
Removed warning (no longer necessary).
2016-12-14 15:56:28 +01:00
Nicolás A. Ortega
b414bff9dc
Minor optimization.
2016-12-14 15:55:39 +01:00
Nicolás A. Ortega
d8c81b172b
Print some fun information at the end.
2016-12-14 15:29:06 +01:00
Nicolás A. Ortega
5bbac132bc
Use size_t, which is better for arrays of very large sizes.
2016-12-14 14:13:32 +01:00
Nicolás A. Ortega
2a3e97f4bc
Prepare version number so I don't forget later.
2016-12-13 18:09:05 +01:00
Nicolás A. Ortega
06d5ddb0cc
Fixed problem with the algorithm.
...
If it's equal to half then we want to check if it's divisible, since if
it's half then it is NOT prime.
2016-12-13 18:05:02 +01:00
Nicolás A. Ortega
5aa0b333c0
Made a fix, because previously it was not measuring primes.
2016-12-13 16:32:10 +01:00
Nicolás A. Ortega
a5ce845c68
`restrict' keyword must be in declaration.
2016-12-13 16:12:03 +01:00
Nicolás A. Ortega
449fef2994
Add restrict
...
Add restrict for better pointer optimizations. This is not being applied
to `addToList()' because that function we want to thread later on.
2016-12-13 11:26:12 +01:00
Nicolás A. Ortega
2e9326b5fb
Preparing for v0.4
...
I'm going to be learning OpenCL, after which I will decide whether to
use OpenCL or OpenMP for the development of Indivisible. This mostly
depends on the compatibility of each library with GMP, especially since
I believe GMP already does some of its own threading.
2016-12-12 23:21:22 +01:00
Nicolás A. Ortega
06cb271dba
Forgot to set that shit to v0.3
2016-12-12 16:20:21 +01:00
Nicolás A. Ortega
dab78093ab
Deleted macros
2016-12-10 17:11:21 +01:00
Nicolás A. Ortega
f4ee9872bc
Optimize the algorithm to avoid numbers larger than half.
2016-12-10 14:46:51 +01:00
Nicolás A. Ortega
8a42e85d04
Better explanation of error.
2016-12-10 11:51:32 +01:00
Nicolás A. Ortega
dd38b53e31
Fixed leaks.
2016-12-10 11:20:01 +01:00
Nicolás A. Ortega
3c8b9922fb
Shorten the long ass `unsigned long long int' to ulli.
2016-12-10 02:20:57 +01:00
Nicolás A. Ortega
cb9e1648e9
No need to use that macro outside a loop.
2016-12-10 02:09:34 +01:00
Nicolás A. Ortega
30703314dd
Forgot it for the main loop as well.
2016-12-10 01:15:52 +01:00
Nicolás A. Ortega
4905391c82
Add more optimizations.
2016-12-10 00:50:23 +01:00
Nicolás A. Ortega
79a9ba11ff
Switch to C, stop using OpenMP, start using GMP.
2016-12-09 23:02:51 +01:00
Nicolás A. Ortega
6bfab05e37
Use lambda function instead.
2016-12-01 12:35:15 +01:00
Nicolás A. Ortega
05b6257e44
Skip all even numbers since they're all divisible by 2.
2016-12-01 12:21:09 +01:00
Nicolás A. Ortega
75b35b3356
Fixed seg fault (I think).
2016-11-30 21:37:10 +01:00
Nicolás A. Ortega
3bb757dc0d
Basic multi-core capabilities.
...
It's buggy, at some point it gives a segmentation fault at around the
`for(auto i : primes)` part. I think I should add a pragma critical
there.
2016-11-30 21:08:44 +01:00
Nicolás A. Ortega
bf2499ac3f
Basic prime calculator.
2016-11-30 15:15:52 +01:00
Nicolás A. Ortega
669b108c43
Initial commit.
2016-11-30 14:32:06 +01:00