Skip to content

Instantly share code, notes, and snippets.

View msanroman's full-sized avatar
📈
1% better every day

Mike San Román msanroman

📈
1% better every day
View GitHub Profile
@msanroman
msanroman / gist:2780507
Created May 24, 2012 09:47
recursive_sum_vector Divide and conquer
int recursive_sum_vector (int *X, int start, int end)
{
int n = end - start;
if (n > 1)
{
sum = 0;
#pragma omp task
sum += recursive_sum_vector(x,start, n /2);
#pragma omp task
sum += recursive_sum_vector(x,(n+1/2), end);
@msanroman
msanroman / gist:2780493
Created May 24, 2012 09:43
sum_vector Task decomposition linear or iterative
void sum_vector(int *X, int n)
{
int sum = 0;
int i;
omp_set_num_threads(NTHREADS);
#pragma omp parallel for firstprivate (sum) reduction (+:sum)
{
for(i = 0; i < n; ++i)
sum += X[i]
}
@msanroman
msanroman / gist:2690802
Created May 13, 2012 23:41
pomodori.js - task validation logic
class PomoJS.Models.Task extends Backbone.Model
url: ->
url = "/tasks"
url += "/#{@.getId()}" unless @.isNew()
return url
defaults: {
name: '',
completed: false,
@msanroman
msanroman / gist:2690799
Created May 13, 2012 23:40
pomodori.js - model validation tests
it "won't save with negative id", ->
@task.set({id: -1})
expect(@task.isValid()).toBeFalsy()
it "won't save with negative estimation", ->
@task.set({estimation: -2})
expect(@task.isValid()).toBeFalsy()
@msanroman
msanroman / gist:2690794
Created May 13, 2012 23:37
pomodori.js - tasks with url logic for creation and update
class PomoJS.Models.Task extends Backbone.Model
url: ->
url = "/tasks"
url += "/#{@.getId()}" unless @.isNew()
return url
defaults: {
name: '',
completed: false,
@msanroman
msanroman / gist:2690789
Created May 13, 2012 23:35
pomodori.js - defining server requests for task creation and update
describe 'server requests', ->
describe 'on create', ->
beforeEach ->
new_task = new PomoJS.Models.Task()
new_task.save()
@request = @server.requests[0]
it 'should be POST', ->
@msanroman
msanroman / gist:2690757
Created May 13, 2012 23:23
pomodori.js - writing our behaviour on save()
class PomoJS.Models.Task extends Backbone.Model
url: "/tasks"
defaults: {
name: '',
completed: false,
estimation: 0
}
@msanroman
msanroman / gist:2690750
Created May 13, 2012 23:19
pomodori.js - defining the save method
describe "save", ->
beforeEach ->
@server = sinon.fakeServer.create()
afterEach ->
@server.restore()
it 'sends valid data to the server', ->
@task.save {name: 'new task name', estimation: 1}
@msanroman
msanroman / gist:2690722
Created May 13, 2012 23:12
pomodori.js - task class with getter methods
class PomoJS.Models.Task extends Backbone.Model
defaults: {
name: '',
completed: false,
estimation: 0
}
getId: -> @.get 'id'
@msanroman
msanroman / gist:2690712
Created May 13, 2012 23:09
pomodori.js - defining an abstraction for the get method
describe 'Task', ->
#(...)
describe "getters", ->
describe "getId", ->
it "should be defined", ->
expect(@task.getId).toBeDefined()