111 Commits

Author SHA1 Message Date
James Godfrey-Kittle
8dc57da4ae Remove unnecessary parentheses 2016-07-28 12:00:13 -07:00
James Godfrey-Kittle
e5cf42545b Variable names
In some cases these changes were made for clarity, in some cases more
just for consistency. Anyways we should now have mostly consistent and
reasonably clear variable names everywhere.
2016-07-28 11:56:14 -07:00
James Godfrey-Kittle
3225b1e249 No camelcase
I guess this was done for consistency with names in FontTools, but I
gotta say it was bugging me that some functions in this module used
underscores and some used camelcase. Style guide says underscores.
2016-07-28 11:41:42 -07:00
James Godfrey-Kittle
ccb1a73edd Factor before variable when no whitespace
This is just a consistency thing; see code above change.
2016-07-28 11:37:08 -07:00
James Godfrey-Kittle
746873233b More whitespace around binary operators
This is very subjective, but my preference is more whitespace.
Generally the only place I didn't put in whitespace was for
multiplication within statements that also contained additions,
without parentheses.
2016-07-28 11:35:32 -07:00
James Godfrey-Kittle
847d12180b Get rid of unnecessary decimal points
We import division from __future__, so float division happens by
default.
2016-07-28 11:21:47 -07:00
James Godfrey-Kittle
2a8eb7993e Revert "Change expected test results for travis"
This reverts commit 79beda96a4e26d5d1778f24de673cf14c6bda1ac.

Apparently now Travis expects what my local machine expects. I swear,
Travis is messing with me....
2016-07-27 17:02:44 -07:00
James Godfrey-Kittle
d864619c8b Typo 2016-07-27 16:52:19 -07:00
James Godfrey-Kittle
4d72a44d35 Remove unused code 2016-07-27 16:52:09 -07:00
James Godfrey-Kittle
a91108185f Correct single-segment approximation return 2016-07-27 16:51:45 -07:00
James Godfrey-Kittle
ea08338878 UFO benchmark module 2016-07-27 16:50:57 -07:00
James Godfrey-Kittle
79beda96a4 Change expected test results for travis
This is kind of annoying, because I don't get these results running
the test locally. Hoping it's a user error of some sort on my part.
2016-07-27 13:48:19 -07:00
James Godfrey-Kittle
d556e8a422 Update expected test results
These have changed with the new conversion method from
https://github.com/googlei18n/cu2qu/pull/33
2016-07-27 13:24:34 -07:00
James Godfrey-Kittle
039e35b212 No error returned from API, update tests 2016-07-27 13:21:47 -07:00
Behdad Esfahbod
9a2d4b810a Reduce more work 2016-07-26 16:00:49 -04:00
Behdad Esfahbod
f6daaae2f8 Port dot() product to native complex operations
For reference:
http://www.solitaryroad.com/c606.html
2016-07-26 15:43:38 -04:00
Behdad Esfahbod
efb25578a1 Minor 2016-07-25 04:16:02 -04:00
Behdad Esfahbod
0b91ec8024 Remove unuse exception 2016-07-25 04:14:34 -04:00
Behdad Esfahbod
13cd5c3b09 Some more micro-optimization 2016-07-25 04:08:37 -04:00
Behdad Esfahbod
b9dcbb5668 Do some less work! 2016-07-25 04:00:44 -04:00
Behdad Esfahbod
021d8c107d Remove unused code 2016-07-25 03:57:33 -04:00
Behdad Esfahbod
59e8ce6e84 Inline cubic_cubic_fit()
Results in a few percents speedup.
2016-07-25 03:53:23 -04:00
Behdad Esfahbod
3aa4c1e1e4 Remove unused error code 2016-07-25 03:38:13 -04:00
Behdad Esfahbod
612aa2af87 Return results in tuples, not complex points 2016-07-25 03:35:40 -04:00
Behdad Esfahbod
1cc3c5eae8 Inline _splitCubicIntoN() 2016-07-25 03:14:02 -04:00
Behdad Esfahbod
40bba687ab Replace splitCubicAtT() with splitCubicIntoN()
Another 6% speedup.
2016-07-25 03:13:01 -04:00
Behdad Esfahbod
64af3ad4a8 Inline cubic_quadratic_fit()
Another 5%.
2016-07-25 03:04:51 -04:00
Behdad Esfahbod
abc18236af Inline splitCubicIntoTwo()
Saves another 5%.
2016-07-25 02:12:15 -04:00
Behdad Esfahbod
c50d498ea5 Hand-code splitCubicIntoThree() 2016-07-24 14:10:41 -04:00
Behdad Esfahbod
8a13ef1edf Use splitCubicIntoTwo() more
Shaves another 5%.
2016-07-24 13:54:52 -04:00
Behdad Esfahbod
dff2cd8669 Add splitCubicIntoTwo()
Speeds up another 15% or so.
2016-07-24 13:54:52 -04:00
Behdad Esfahbod
12629a715b Whitespace 2016-07-23 17:11:45 -07:00
Behdad Esfahbod
f63a31dd99 Do less work. 2016-07-23 17:11:28 -07:00
Behdad Esfahbod
a412c1c9ec Make benchmark callable from profile / cProfile module 2016-07-23 16:28:28 -07:00
Behdad Esfahbod
d3f566ba54 Use complex numbers to implement points
Shows a 30% speedup for me.
2016-07-22 23:40:44 -07:00
Behdad Esfahbod
46f8416fff Remove more unused code 2016-07-22 23:11:13 -07:00
Behdad Esfahbod
bd52b4d510 Remove unused code 2016-07-22 15:52:00 -07:00
Behdad Esfahbod
49c2d886a0 Use exact error
To me, this looks about 40% faster.

WIP though.  API needs to change to take out error output argument.
Further optimization is possible by merging loops.
2016-07-22 02:21:41 -07:00
Behdad Esfahbod
185216bbfe Remove unused return values 2016-07-22 01:13:12 -07:00
Behdad Esfahbod
2d5e57e973 Make it twice faster by inlining lerp and expanding bezier equations 2016-07-22 00:49:19 -07:00
Cosimo Lupo
ae2eb8d4df cu2qu.pens: make sure closed contour starts with an on-curve
This is still the same contour as before, as UFO spec allows both;
it's just normalized so that the first segments' off-curves appear at
the bottom, and the first point in the contour is an on-curve.
2016-07-21 11:35:41 +01:00
James Godfrey-Kittle
c82b78b1b8 Merge pull request #25 from googlei18n/reverse-contours
Add reverse_direction argument
2016-05-11 10:55:50 -07:00
James Godfrey-Kittle
3307c5d62a Add reverse_direction argument
As described in
https://github.com/googlei18n/cu2qu/pull/20#issuecomment-213058410
2016-05-10 18:01:34 -07:00
Behdad Esfahbod
79aaf25ae2 [test] Fix seed in class setup
Fixes https://github.com/googlei18n/cu2qu/issues/24
2016-04-30 17:59:50 +02:00
James Godfrey-Kittle
dc904ef31f Move root module tests to test/ directory 2016-04-21 11:32:36 -07:00
James Godfrey-Kittle
57fa1f46f4 Merge branch 'master' into tests 2016-04-21 11:30:13 -07:00
James Godfrey-Kittle
c82ca16fde Merge pull request #20 from anthrotype/pens
add pens module containing Cu2QuPen, Cu2QuPointPen, etc.
2016-04-21 11:25:59 -07:00
James Godfrey-Kittle
4135842c4e Add some simple tests for main module 2016-04-20 16:21:35 -07:00
James Godfrey-Kittle
fbb51f3a62 [benchmark] Update function calls 2016-04-20 14:40:49 -07:00
James Godfrey-Kittle
7fe4fd0fe2 [ufo] Don't touch components or UFO2-style anchors 2016-04-05 10:41:48 -07:00