Skip to content

Instantly share code, notes, and snippets.

Avatar
🐓

Julian Bruyat BruJu

🐓
View GitHub Profile
View random_exercices.c
#include <stdio.h>
#include <stdlib.h>
// Some answers to exercices that a friend has to do for his school that I did for fun
// SUM OF PARAM
int size_of_string(char * str) {
int l = 0;
while (str[l]) {
@BruJu
BruJu / .block
Created Nov 20, 2019
fresh block
View .block
license: mit
@BruJu
BruJu / main.rs
Last active Dec 3, 2019
Rust first program
View main.rs
use std::cmp::Ordering;
use std::io;
use rand::Rng;
use std::io::Write;
use std::format;
// My first program in rust to test the language
// Kept to laught at myself in several months
// Inspired from the guessing game of the Rust book
View relaxedbinpacking.cpp
// I was bored so I programmed the binpacking relaxed problem
#include <iostream>
#include <array>
#include <algorithm>
#include <functional>
struct Item {
unsigned int number;
unsigned int utility;
double weight;
@BruJu
BruJu / filter.js
Created Feb 21, 2020
Random filter experiment in js
View filter.js
// Today I discovered that we can write horrible code in Javascript thanks to the thisArg argument of Array.reduce.filter
function myFilter(e) {
if (e % 2) {
this.val += e;
}
return e % 3 == 0;
}
var arr = [1,2,3,4,5,6,7,8,9,10];
View FunctionAsTemplateParameter.cpp
// "How to pass a function in a template parameter ?"
// (I wanted to pass a lambda but it is not possible)
// 2019-12-27
#include <iostream>
#include <string>
#include <vector>
#include <array>
@BruJu
BruJu / main.rs
Created Mar 10, 2020
Volatile data in Rust
View main.rs
/// Code example of how to have mutable data in an object passed by ref
/// The use case of this snippet is to cache some computed data
use core::cell::RefCell;
struct Cat {
age: RefCell<Option<i32>>
}
@BruJu
BruJu / synchronize_sophia.sh
Created Feb 25, 2020
My bash script to synchronize my clone of the Sophia_rs repository (and use the latest version of Sophia in my project)
View synchronize_sophia.sh
#!/bin/bash
cd sophia_rs
git checkout master
git fetch pchampin
git rebase pchampin/master
git push
cd ../PRIWA/wasm_example/
rm Cargo.lock
./run_server.sh reload
View intvect.rs
extern crate wasm_bindgen;
extern crate js_sys;
use wasm_bindgen::prelude::*;
use std::collections::BTreeSet;
#[wasm_bindgen]
pub struct IntVector {
values: Vec<i32>
View idk.hpp
template <bool try_lock_return>
class DebugMutex {
#ifdef DEBUG
private: std::mutex _mutex;
public:
void lock() { _mutex.lock(); }
void unlock() { _mutex.unlock(); }
bool try_lock() { return _mutex.try_lock(); }
#else
public: