Skip to content

Instantly share code, notes, and snippets.

View pedrogk's full-sized avatar

Pedro Galvan pedrogk

View GitHub Profile
@pedrogk
pedrogk / Android.mk
Created November 12, 2013 08:34
Makefile para construir proyecto NDK.
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cpuid
LOCAL_SRC_FILES := cpuid.c com_example_cpuid_CPUIdApp.c
include $(BUILD_SHARED_LIBRARY)
@pedrogk
pedrogk / com_example_cpuid_CPUIdApp.c
Created November 12, 2013 08:23
Código en C para especificar la llamada JNI.
#include "com_example_cpuid_CPUIdApp.h"
extern void cpuid_parse(char *buf);
JNIEXPORT jstring JNICALL Java_com_example_cpuid_CPUIdApp_cpuid_1get(JNIEnv *env, jclass jc)
{
char buf[1024];
cpuid_parse(buf);
return (*env)->NewStringUTF(env, buf);
}
@pedrogk
pedrogk / CPUIdApp.java
Created November 12, 2013 07:43
versión ajustada de CPUIdApp.java con código JNI.
package com.example.cpuid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class CPUIdApp extends Activity
{
/** Called when the activity is first created. */
@Override
@pedrogk
pedrogk / cpuid.c
Created November 12, 2013 07:34
Código para parsear la salida del comando cpuid y determinar las capacidades del procesador.
#include <stdio.h>
#define HT_FLAG 0x10000000
#define SSE_FLAG 0x02000000
#define SSE2_FLAG 0x04000000
#define SSSE3_FLAG 0x00000200
#define SSE4_1_FLAG 0x00080000
#define SSE4_2_FLAG 0x00100000
void cpuid(unsigned info, unsigned *eax, unsigned *ebx, unsigned *ecx, unsigned *edx)
{
@pedrogk
pedrogk / CPUIdApp.java
Created November 12, 2013 07:19
Versión original de CPUIdApp.java al ser creada automáticamente.
package com.example.cpuid;
import android.app.Activity;
import android.os.Bundle;
public class CPUIdApp extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
@pedrogk
pedrogk / Factores primos con TDD.py
Created November 21, 2012 19:14
Código para calcular factores primos bajo filosofía de TDD. Creado por Alfredo Chavez (@alfredochv) y utilizado en el artículo "Test Driven Development: Guia para los no iniciados" publicado en SG #38.
from unittest import main, TestCase
class TestPrimeFactors(TestCase):
def testPrimesOf0to1(self):
self.assertEquals([], factorsOf(0))
self.assertEquals([], factorsOf(1))
def testPrimesOf2to4(self):
self.assertEquals([2], factorsOf(2))
self.assertEquals([3], factorsOf(3))
self.assertEquals([2,2], factorsOf(4))