int main(void) { int n; fibo(); while (scanf("%d", &n) == 1) { printf("The Fibonacci number for %d is ", n); printbig(n); } return 0; }
int main(void) { int n; int *number[MAXN]; init(number); fibo(number); while (scanf("%d", &n) == 1) { printf("The Fibonacci number for %d is ", n); printbig(number[n]); } freen(number); return 0; }
static int bcm947xx_pcm_close(struct snd_pcm_substream *substream) { struct snd_soc_pcm_runtime *rtd = substream->private_data; bcm947xx_i2s_info_t *snd_bcm = rtd->dai->cpu_dai->private_data; struct bcm947xx_runtime_data *brtd = substream->runtime->private_data; DBG("%s %s\n", __FUNCTION__, bcm947xx_direction_str(substream)); DBG("%s: i2s intstatus 0x%x intmask 0x%x\n", __FUNCTION__, R_REG(snd_bcm->osh, &snd_bcm->regs->intstatus), R_REG(snd_bcm->osh, &snd_bcm->regs->intmask)); /* #if required because dma_dump is unavailable in non-debug builds. */ #if BCM947XX_DUMP_RING_BUFFER_ON_PCM_CLOSE_ON { /* dump dma rings to console */ #if !defined(FIFOERROR_DUMP_SIZE) #define FIFOERROR_DUMP_SIZE 8192 #endif char *tmp; struct bcmstrbuf b; if (snd_bcm->di[0] && (tmp = MALLOC(snd_bcm->osh, FIFOERROR_DUMP_SIZE))) { bcm_binit(&b, tmp, FIFOERROR_DUMP_SIZE); dma_dump(snd_bcm->di[0], &b, TRUE); printbig(tmp); MFREE(snd_bcm->osh, tmp, FIFOERROR_DUMP_SIZE); } } #endif /* BCM947XX_DUMP_RING_BUFFER_ON_PCM_CLOSE_ON */ /* reclaim all descriptors */ if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) { dma_rxreset(snd_bcm->di[0]); dma_rxreclaim(snd_bcm->di[0]); } else { dma_txreset(snd_bcm->di[0]); dma_txreclaim(snd_bcm->di[0], HNDDMA_RANGE_ALL); } if (brtd) kfree(brtd); else DBG("%s: called with brtd == NULL\n", __FUNCTION__); return 0; }
int main() { bigint_t a,b,c; int buf[200]; bigint_new(&a,buf,50); bigint_new(&b,buf+50,50); bigint_new(&c,buf+100,100); a2big(&a,"123456789123456789"); a2big(&b,"9876543210"); bigint_mult(&a,&b,&c); printbig(&c); printf("\n"); return 0; }
static void update_state(void){ static utime_t fault_song = 0; static utime_t diag_last = 0; static int8_t diag_counter = 0; int sw = get_switch(); int bn = get_button(); blinky_override = 0; switch( inv_state ){ case INV_STATE_OFF: set_led_green(0); if( sw ){ // switch was turned on ondelay_until = get_time() + ONDELAY; inv_state = INV_STATE_ONDELAY; blinky_override = 1; set_led_white(255); play(ivolume, "c+3"); // debounce delay printbig("STARTING...\n"); syslog("switch on"); } break; case INV_STATE_ONDELAY: if( !sw ){ // switch was turned off inv_state = INV_STATE_OFF; play(ivolume, "a-3"); diag_counter ++; diag_last = get_time(); printbig("OFF\n"); usleep(500000); print_ready(); syslog("canceled"); }else if( get_time() >= ondelay_until ){ // countdown finished set_led_green( 255 ); inv_state = INV_STATE_ONDELAY2; diag_counter = 0; play(ivolume, "b"); printbig("ACTIVE\n"); syslog("ac active"); }else{ // flash + chirp; 2Hz blinky_override = 1; set_led_green(127); set_led_white(0); play(ivolume, "b+5>>"); set_led_green(0); set_led_white(64); usleep(437500); // reset the clock if Vi drops below 300 (per the spec) if( s_vi._curr < MIN_VI_SOFT ){ ondelay_until = get_time() + ONDELAY; } } break; case INV_STATE_ONDELAY2: // will move to running at next zero-xing break; case INV_STATE_RUNNING: set_led_green( 127 ); if( !sw ){ // switch was turned off // quickly bring VH down, and stop at zero-xing shutdown_until = get_time() + OFFDELAY; inv_state = INV_STATE_SHUTTINGDOWN; play(ivolume, "a-3"); // debounce syslog("switch off"); } break; case INV_STATE_SHUTTINGDOWN: set_led_green(255); if( get_time() >= shutdown_until ){ if( sw ){ // wild switch flipping inv_state = INV_STATE_FAULTEDOFF; fault_song = 0; fault_reason = "SWITCH ERR"; syslog("switch fault"); }else{ // done ramping down inv_state = INV_STATE_OFF; play(ivolume, "f-3"); printbig("AC OFF\n"); syslog("ac disabled"); usleep(500000); print_ready(); } } break; case INV_STATE_FAULTED: set_led_green(255); set_led_red(255); // we ramp down same as a shutdown, but end in faultedoff shutdown_until = get_time() + OFFDELAY; inv_state = INV_STATE_FAULTINGDOWN; printadj(fault_reason); break; case INV_STATE_FAULTINGDOWN: set_led_green(255); set_led_red(255); if( get_time() >= shutdown_until ){ inv_state = INV_STATE_FAULTEDOFF; fault_song = 0; syslog("ac disabled (fault)"); } break; case INV_STATE_FAULTEDOFF: set_led_green(0); set_led_red(255); if( !sw ){ // switch turned off, resume normal operation inv_state = INV_STATE_OFF; play(ivolume, "f-3"); set_led_red(0); print_ready(); }else if( get_time() >= fault_song ){ // periodically, sing printadj(fault_reason); play(128, "t150[4 d+3d-3]"); fault_song = get_time() + FAULTSONGT; } break; case INV_STATE_DIAG: menu(&guitop); inv_state = INV_STATE_OFF; print_ready(); break; case INV_STATE_TEST: break; } if( diag_last && diag_last + 5000000 < get_time() ){ diag_counter = 0; diag_last = 0; } // toggle switch rapidly, or toggle switch once + press button if( (diag_mode != 2) && ((diag_counter >= 5) || (bn && diag_counter)) ){ inv_state = INV_STATE_DIAG; diag_counter = 0; printbig("DIAG MODE\n"); syslog("diag mode"); play(ivolume, "g4e4f4f-3"); // ... } }
static inline void print_ready(void){ printbig("READY"); }