void (*Loader::finalize(const char *entryLabel))() { if(!machineCode) { loadCode(); } finalized = true; delete instructions; instructions = 0; delete[] listing; listing = 0; if(!entryLabel) { return (void(*)())machineCode; } const unsigned char *entryPoint = resolveLocal(entryLabel, 0); if(!entryPoint) { throw Error("Entry point '%s' not found", entryLabel); } return (void(*)())entryPoint; }
void yeseulMenkmanInstitution::setup(){ for (int i=0; i<7000; i++) { for (int j=0; j<11; j++) { patternRandomArray[i][j] = int(ofRandom(1, 11)); } } for (int i=0; i<5000; i++) { patternRandomNumberArray[i] = int(ofRandom(1, 11)); } for(int i=0; i<324; i++) { squareRandomArray[i] = int(ofRandom(0, 10)); } parameters.add(amountOfSquares.set("amountOfSquares", 2, 0, 5)); parameters.add(numberOfBricks.set("numberOfBricks", 118, 0, 475)); setAuthor("Yeseul Song"); setOriginalArtist("Rosa Menkman"); loadCode("scenes/yeseulMenkmanInstitution/exampleCode.cpp"); }
void alexLissamojiWhitney::setup(){ ofBackground(0); // ofEnableSmoothing(); center.set(dimensions.width*0.5, dimensions.height*0.5, 0); // Removing for black-on-white aesthetic // bckgImg.loadImage("scenes/alexLissamojiWhitney/back.png"); // To Do: flip through all emojis in the folder ? // eyesImg.load("scenes/alexLissamojiWhitney/emojis/1f440.png"); emojiSheet.load("scenes/alexLissamojiWhitney/sheet_32.png"); anim[0] = 0; anim[1] = 0; // setup pramameters parameters.add(pAmp.set( "Amplitude", 200, 10, 400 )); // parameters.add(pFreq[1].set( "Frequency ", 1, 1, 10 )); pPhase.set("Phase", PI / 2 ,0,TWO_PI); parameters.add(pDensity.set("Density", 140, 0, 200)); parameters.add(plissajouRatioX.set("Lissajous Ratio X", 2, 1, 3)); parameters.add(plissajouRatioY.set("Lissajous Ratio Y", 3, 1, 3)); pAnimSpeed.set("Animation Speed", 10, 1, 60); pImgScale.set("Image scale", 0.15, 0.0, 1); timerLastTime = ofGetElapsedTimeMillis(); setAuthor("Alex Tolar"); setOriginalArtist("John Whitney"); loadCode("scenes/alexLissamojiWhitney/exampleCode.cpp"); }
void mgsRileyEllipsesAndSquares::setup() { setAuthor("Michael Simpson"); setOriginalArtist("Bridget Riley"); //- Hidden Squares - 1990"); px0 = 66; py0 = 97; px1 = 260; py1 = 310; px2 = 320; py2 = 100; px3 = 440; py3 = 270; px4 = 69; py4 = 349; px5 = 320; py5 = 430; px6 = 330; py6 = 320; px7 = 434; py7 = 429; bNeedRedraw = false; parameters.add(unitSize.set("Unit Size", 6, 2, 8)); unitSize.addListener(this, &mgsRileyEllipsesAndSquares::redraw); loadCode("scenes/mgsRileyEllipsesAndSquares/exampleCode.cpp"); ofBackground(255); ofSetCircleResolution(100); frame.allocate(dimensions.width, dimensions.height, GL_RGB32F_ARB); frame.begin(); ofClear(0); frame.end(); drawScene(); }
void manfredMohrP196A::setup(){ zeroVector = ofVec4f(0., 0., 0., 0.); orthoCam = ofCamera(); //Manfred Mohr commonly used an orthographic perspective orthoCam.enableOrtho(); //push out clipping planes so we don't cut off the geometry orthoCam.setFarClip(1000); orthoCam.setNearClip(-1000); // setup pramaters // param.set("param", 5, 0, 100); // parameters.add(param); cubeARotationPercent.set("cubeARotationPercent", 0., 0., 1.); cubeBRotationDiffPercent.set("cubeBRotationDiffPercent", 0., 0., 1.); cubeOthersRotationDiffPercent.set("cubeOthersRotationDiffPercent", 0., 0., 1.); scaleParam.set("scale", 0.8, 0, 1); whiteBackground.set("whiteBackground", true); rearLineOpacity.set("rearLineOpacity", 0, 0, 255); //~1.75 spacing is the smallest before overlap starts occuring spacing.set("spacing", 2, 1.75, 10); parameters.add(cubeARotationPercent); parameters.add(cubeBRotationDiffPercent); parameters.add(cubeOthersRotationDiffPercent); parameters.add(scaleParam); parameters.add(whiteBackground); parameters.add(rearLineOpacity); parameters.add(spacing); setAuthor("Quin Kennedy"); setOriginalArtist("Manfred Mohr"); loadCode("scenes/manfredMohrP196A/exampleCode.cpp"); }
void cantusFirmusRiley::setup(){ ofBackground(255); size = 5000; y.c.setHex(0xA79C26); y.width = 9; p.c.setHex(0xC781A8); p.width = 9; b.c.setHex(0x64A2C9); b.width = 11; k.c.setHex(0x222B32); k.width = 39; w.c.setHex(0xE3E2DE); w.width = 29; g.c.set(127); g.width = 29; r.c.set(255,0,0); r.width = 10; int counter = 0; for (int i = 0; i <= size; i++){ if(i == size/2) stripes.push_back(w); else if(abs(i-size/2)% 8 == 1) stripes.push_back(y); else if(abs(i-size/2)% 8 == 2) stripes.push_back(p); else if(abs(i-size/2)% 8 == 3) stripes.push_back(b); else if(abs(i-size/2)% 8 == 5) stripes.push_back(b); else if(abs(i-size/2)% 8 == 6) stripes.push_back(p); else if(abs(i-size/2)% 8 == 7) stripes.push_back(y); else if(abs(i-size/2)%12 == 0) stripes.push_back(w); else if(abs(i-size/2)%12 == 8) stripes.push_back(k); else if(abs(i-size/2)%12 == 4) { int rand = ofRandom(120,180); g.c.set(rand); // cout << rand << endl; stripes.push_back(g); } else stripes.push_back(r); } parameters.add(posNoiseSpeed.set("offsetX", 0, -300, 300)); parameters.add(zoomNoiseSpeed.set("zoom", 0.2, 0.05, 1)); //parameters.add(range.set("scale", 0.3, 0.02, 1.0)); setAuthor("Reed Tothong"); setOriginalArtist("Bridget Riley"); loadCode("scenes/cantusFirmusRiley/cantusFirmusRiley.cpp"); }
void olegVeraV::setup(){ parameters.add(elementsAmount.set("elementsAmount", 25, 1, 36)); parameters.add(thickness.set("thickness", 4, 0.001, 100)); parameters.add(thicknessMultiplier.set("thicknessMultiplier", 1.01, 0.9, 1.1)); parameters.add(curveHeight.set("heartBeat", 5, 1, 100)); setAuthor("Oleg Pashkovsky"); setOriginalArtist("Vera Molnar"); loadCode("scenes/olegVeraV/exampleCode.cpp"); }
void veraFscene::setup(){ //parameters.add(numberOfF.set("numberOfF", 4, 4, 50)); numberOfF = 40; parameters.add(frequency.set("frequency", 0.0, 0.0, 0.5)); parameters.add(margin.set("margin", 4, 0, 10)); parameters.add(lineWidth.set("lineWidth", 2, 0, 10)); parameters.add(zoom.set("zoom", 1, 0.66667, 3)); lastValue = 0; setAuthor("Becca Moore"); setOriginalArtist("Vera Molnar"); loadCode("scenes/veraFscene/exampleCode.cpp"); }
void yeseulWhitneyScene::setup(){ setAuthor("Yeseul Song"); setOriginalArtist("John Whitney"); parameters.add(spinSpeed.set("spinSpeed", 10, 10, 70)); parameters.add(diffusionInterval.set("diffusionInterval", 5, 5, 10)); parameters.add(diffusionSize.set("diffusionSize", 0.1, 0.1, 1.5)); lastDiffusionTime = 0; integratedTime = 0; lastTimeBg = 0; lastTimeFg = 0; loadCode("scenes/yeseulWhitneyScene/exampleCode.cpp"); }
void johnWhitneyShader02::setup(){ // setup pramaters speed.set("speed", 0.18, 0, 2.5); parameters.add(speed); thickness.set("thickness", 0.26, 0.001, 0.6); parameters.add(thickness); integratedTime = 0; lastTime = 0; shader.load("scenes/johnWhitneyShader02/shader"); setAuthor("Chris Anderson"); setOriginalArtist("John Whitney"); loadCode("scenes/johnWhitneyShader02/exampleCode.cpp"); }
void RileyRemake_Catarina_Lee__Joao_Freire::setup(){ // setup pramaters // param.set("param", 5, 0, 100); // parameters.add(param); ofEnableAlphaBlending(); for(int i = 0; i < 7; i++) { colors.push_back(ofParameter<ofColor>()); parameters.add(colors.back().set("color"+ofToString(i), ofColor(100,100,140), ofColor(0,0),ofColor(255,255))); } for(int j = 0; j < 18; j++) { ofColor auxColor = colors[ofRandom(0,7)]; stripe1.clear(); for(int i = 0; i < 7; i ++) { vertical_stripe *aux; aux = new vertical_stripe(); aux->create(j * 60, -j*30+ i*7*30, auxColor); stripe1.push_back(aux); } stripes.push_back(stripe1); } int nFloating = ofRandom(400,500); cell aux; for(int i = 0; i < nFloating; i++) { int x = ofRandom(17); int y = ofRandom(4); int num_cell = ofRandom(7); aux.create(stripes[x][y]->cells[num_cell]->origin.x + 1*17*60, stripes[x][y]->cells[num_cell]->origin.y-30*30,"diagonal", colors[ofRandom(7)]); floating_cells.push_back(aux); } loadCode("scenes/RileyRemake-Catarina_Lee__Joao_Freire/exampleCode.cpp"); }
void RileyArcsRoy::setup(){ // setup pramaters // param.set("param", 5, 0, 100); // parameters.add(param); setAuthor("Roy MacDonald"); setOriginalArtist("Bridget Riley"); loadCode("scenes/RileyArcsRoy/exampleCode.cpp"); minWidth = 1; minSpacing = 4; parameters.add(thinWideRatio.set("thinWideRatio", 0.2, 0,1)); // parameters.add(oscMax.set("oscMax", 0.98, 0,1)); // parameters.add(speed.set("speed", 0.2, 0,1)); initTime = TWO_PI*0.8; }
void rodrigoBelfort::setup(){ timeBtwnLines.set("timeBtwnLines", 0.2, 0, 1); parameters.add(timeBtwnLines); pNewLine.set("pNewLine", 0.1, 0, 1); parameters.add(pNewLine); // Calculate rectangle size and padding from width float availableSpaceX = (VISUALS_WIDTH - WINDOW_PADDING * 2); float widthUnits = BELFORT_COLS * RECT_WIDTH_TO_PADDING + (BELFORT_COLS - 1); float unitWidth = availableSpaceX / widthUnits; rectSize = unitWidth * RECT_WIDTH_TO_PADDING; paddingSizeX = unitWidth; // Calculate Y padding float availableSpaceY = (VISUALS_HEIGHT - WINDOW_PADDING * 2); float totalPaddingY = availableSpaceY - unitWidth * BELFORT_ROWS; paddingSizeY = availableSpaceY / ((BELFORT_ROWS - 1) * 2); // Load in original for (int i = 0; i < BELFORT_ROWS; i++) { const int (*shape)[BELFORT_COLS]; if (i < 5) { shape = &origA; } else if (i < 29) { shape = &origB; } else { shape = &origC; } for (int j = 0; j < BELFORT_COLS; j++) { dots[i][j]=(*shape)[j]; } } setAuthor("Rodrigo Carvalho"); setOriginalArtist("Belfort Group"); loadCode("scenes/rodrigoBelfort/exampleCode.cpp"); }
void mgsCooperSymbols::setup() { setAuthor("Michael Simpson"); setOriginalArtist("Muriel Cooper"); // - 'A Primer Of Visual Literacy' Book Cover - 1973 setupParameters(); ofSetCircleResolution(100); loadCode("scenes/mgsCooperSymbols/exampleCode.cpp"); cursorColor = ofColor(0,0,255,1); clearColor = ofColor(0,0,0,255); symbolColor = ofColor(255,255,255,255); gw = dimensions.width/gridSize; gh = dimensions.height/gridSize; bNeedsRedraw = bNeedRedrawFullScene = true; frame.allocate(dimensions.width, dimensions.height); frame.begin(); ofClear(0); frame.end(); drawFullScene(); drawScene(); }
void yeseulCooperMessages::setup(){ setAuthor("Yeseul Song"); setOriginalArtist("Muriel Cooper"); texture.load("scenes/yeseulCooperMessages/texture.png"); font.load("Helvetica Neue", 50, true,true,true); font.setLineHeight(60); text1 = "MEANS"; text2 = "MESSAGES"; parameters.add(greenTextSpeed.set("greenTextSpeed", 20, 5, 35)); parameters.add(redTextSpeed.set("redTextSpeed", 20, 5, 35)); parameters.add(purpleTextSpeed.set("purpleTextSpeed", 20, 5, 35)); parameters.add(rotation.set("rotation", 0, 0, 360)); loadCode("scenes/yeseulCooperMessages/exampleCode.cpp"); }
void veraMolnarTrapezium::setup(){ iCenterX = 0; iCenterY = 1; iTopLeftOffsetX = 2; iTopRightOffsetX = 3; iBottomLeftOffsetX = 4; iBottomRightOffsetX = 5; fboScale = 2; bigScreen.allocate(dimensions.width*fboScale, dimensions.height*fboScale); // setup pramaters // param.set("param", 5, 0, 100); // parameters.add(param); spacingPercent.set("spacingPercent", 1.2, 0, 10); spacingPercentX.set("spacingPercentX", 1.2, 0, 10); spacingPercentY.set("spacingPercentY", 1.2, 0, 10); unifiedSpacing.set("unifiedSpacing", true); whiteBackground.set("whiteBackground", false); numWide.set("numWide", 40, 1, 100); baseSize.set("baseSize", 140, 40, bigScreen.getWidth()); cornerNoise.set("cornerNoise", 0., 0., 1.); centerNoise.set("centerNoise", 0., 0., 1.); parameters.add(baseSize); parameters.add(spacingPercent); parameters.add(unifiedSpacing); parameters.add(spacingPercentX); parameters.add(spacingPercentY); //parameters.add(numWide); parameters.add(cornerNoise); parameters.add(centerNoise); parameters.add(whiteBackground); setAuthor("Quin Kennedy"); setOriginalArtist("Vera Molnar"); loadCode("scenes/veraMolnarTrapezium/exampleCode.cpp"); }
HuffmanCode::WeightSum HuffmanCode::build(const std::vector<HuffmanCode::WeightTp>& W) { if (W.empty()) { output_code.clear(); return WeightSum(); } unsigned int n = W.size(); typedef std::pair<WeightTp, unsigned int> PP; std::priority_queue<PP, std::vector<PP>, std::greater<PP> > pq; unsigned int i = 0; for (std::vector<WeightTp>::const_iterator it = W.begin(); it != W.end(); ++it) pq.push(std::make_pair(*it, i++)); std::vector<unsigned int> parent(W.size()); parent.reserve(W.size()*2 - 1); assert(!pq.empty()); while (true) { PP t1 = pq.top(); pq.pop(); if (pq.empty()) break; PP t2 = pq.top(); pq.pop(); parent.push_back(0); unsigned int newid = parent.size() - 1; parent[t1.second] = newid; parent[t2.second] = newid; pq.push(std::make_pair(t1.first + t2.first, newid)); } assert(pq.empty()); // compute code length std::vector<uint16_t> L(parent.size()); L[L.size() - 1] = 0; WeightSum total = 0; for (int i = (int)L.size()-2; i >= 0; i--) { L[i] = 1 + L[parent[i]]; if ((unsigned int) i < n) total += ((WeightSum)W[i]) * L[i]; } loadCode(W.size(), L); return total; }
void (*Loader::callable(const char *entryLabel))() { if(finalized) throw Error("Cannot retrieve callable from finalized code"); if(!machineCode) { loadCode(); } if(!entryLabel) { return (void(*)())machineCode; } const unsigned char *entryPoint = resolveLocal(entryLabel, 0); if(!entryPoint) { throw Error("Entry point '%s' not found", entryLabel); } return (void(*)())entryPoint; }
InfoTable * loadInfoTable(const char *filename, FILE *f, const StringTabEntry *strings, HashTable *itbls, HashTable *closures) { u4 magic = fget_u4(f); assert(magic == INFO_MAGIC); char *itbl_name = loadId(f, strings, "."); u2 cl_type = fget_varuint(f); InfoTable *new_itbl = NULL; FwdRefInfoTable *old_itbl = HashTable_lookup(itbls, itbl_name); if (old_itbl && old_itbl->i.type != INVALID_OBJECT) { fprintf(stderr, "ERROR: Duplicate info table: %s\n", itbl_name); exit(1); } switch (cl_type) { case CONSTR: // A statically allocated constructor { ConInfoTable *info = allocInfoTable(wordsof(ConInfoTable)); info->i.type = cl_type; info->i.tagOrBitmap = fget_varuint(f); // tag Word sz = fget_varuint(f); assert(sz <= 32); info->i.size = sz; info->i.layout.bitmap = sz > 0 ? fget_u4(f) : 0; // info->i.layout.payload.ptrs = fget_varuint(f); // info->i.layout.payload.nptrs = fget_varuint(f); info->name = loadId(f, strings, "."); new_itbl = (InfoTable*)info; } break; case FUN: { FuncInfoTable *info = allocInfoTable(wordsof(FuncInfoTable)); info->i.type = cl_type; info->i.tagOrBitmap = 0; // TODO: anything useful to put in here? Word sz = fget_varuint(f); assert(sz <= 32); info->i.size = sz; info->i.layout.bitmap = sz > 0 ? fget_u4(f) : 0; info->name = loadId(f, strings, "."); loadCode(filename, f, &info->code, strings, itbls, closures); new_itbl = (InfoTable*)info; } break; case CAF: case THUNK: { ThunkInfoTable *info = allocInfoTable(wordsof(ThunkInfoTable)); info->i.type = cl_type; info->i.tagOrBitmap = 0; // TODO: anything useful to put in here? Word sz = fget_varuint(f); assert(sz <= 32); info->i.size = sz; info->i.layout.bitmap = sz > 0 ? fget_u4(f) : 0; info->name = loadId(f, strings, "."); loadCode(filename, f, &info->code, strings, itbls, closures); new_itbl = (InfoTable*)info; } break; default: fprintf(stderr, "ERROR: Unknown info table type (%d)", cl_type); exit(1); } // new_itbl is the new info table. There may have been forward // references (even during loading the code for this info table). if (old_itbl != NULL) { LD_DBG_PR(1, "Fixing itable forward reference for: %s, %p\n", itbl_name, new_itbl); void **p, *next; LC_ASSERT(old_itbl->i.type == INVALID_OBJECT); for (p = old_itbl->next; p != NULL; p = next) { next = *p; *p = (void*)new_itbl; } // TODO: fixup forward refs xfree(old_itbl); HashTable_update(itbls, itbl_name, new_itbl); xfree(itbl_name); } else { HashTable_insert(itbls, itbl_name, new_itbl); } return new_itbl; }
int loadExecutable(FILE* f) { loadCode(codeBlock,f); resetVM(); return 1; }
void triangleScene::setup(){ numTriangles.set("numTriangles", 5, 0, 100); parameters.add(numTriangles); loadCode("scenes/triangleScene/triangle.txt"); }